Grouped by what each filing is, not just when it landed. Straight from EDGAR, free, no login. Back to COFS · Search inside filings · Replay these filings in order (study mode)
The fiscal-year statement table from these filings’ XBRL, one row per year with its source and date: XLSX · CSV
Annual and quarterly reports
Nine months to 2026-09-30 against 2025-09-30: Revenue $180.4M, up 7.9% from $167.2M. Three months to 2026-09-30 against 2025-09-30: Net income $14.5M, down 0.9% from $14.7M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Six months to 2026-06-30 against 2025-06-30: Revenue $118.0M, up 12.0% from $105.3M. Three months to 2026-06-30 against 2025-06-30: Net income $12.5M, down 7.9% from $13.5M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Three months to 2026-03-31 against 2025-03-31: Revenue $59.1M, up 31.7% from $44.9M; Net income $13.7M, against net loss of $13.9M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Year to 2025-12-31 against 2024-12-31: Revenue $227.6M, up 63.6% from $139.1M; Net income $28.2M, up 5.4% from $26.7M. From this filing’s own figures
The audited annual report. It covers a year that has already ended and says little about the current quarter. General guide to this form
Nine months to 2025-09-30 against 2024-09-30: Revenue $167.2M, up 62.2% from $103.1M. Three months to 2025-09-30 against 2024-09-30: Net income $14.7M, up 99.8% from $7.3M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Six months to 2025-06-30 against 2024-06-30: Revenue $105.3M, up 58.3% from $66.5M. Three months to 2025-06-30 against 2024-06-30: Net income $13.5M, up 105.5% from $6.6M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Three months to 2025-03-31 against 2024-03-31: Revenue $44.9M, up 38.2% from $32.5M; Net loss $13.9M, against net income of $5.6M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Year to 2024-12-31 against 2023-12-31: Revenue $139.1M, up 22.1% from $113.9M; Net income $26.7M, up 25.7% from $21.3M. From this filing’s own figures
The audited annual report. It covers a year that has already ended and says little about the current quarter. General guide to this form
Three months to 2024-09-30 against 2023-09-30: Revenue $3.4M, up 14.1% from $2.9M; Net income $7.3M, up 43.5% from $5.1M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Three months to 2024-06-30 against 2023-06-30: Revenue $3.2M, up 13.5% from $2.8M; Net income $6.6M, up 26.3% from $5.2M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Three months to 2024-03-31 against 2023-03-31: Revenue $3.0M, up 6.5% from $2.8M; Net income $5.6M, up 0.0% from $5.6M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Year to 2023-12-31 against 2022-12-31: Net income $21.3M, down 10.1% from $23.6M. From this filing’s own figures
The audited annual report. It covers a year that has already ended and says little about the current quarter. General guide to this form
Three months to 2023-09-30 against 2022-09-30: Revenue $2.9M, up 1.1% from $2.9M; Net income $5.1M, down 11.9% from $5.8M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Three months to 2023-06-30 against 2022-06-30: Revenue $2.8M, down 3.2% from $2.9M; Net income $5.2M, down 7.2% from $5.6M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Three months to 2023-03-31 against 2022-03-31: Revenue $2.8M, up 2.4% from $2.7M; Net income $5.6M, up 1.9% from $5.5M. From this filing’s own figures
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
Year to 2022-12-31 against 2021-12-31: Net income $23.6M, up 7.2% from $22.0M. From this filing’s own figures
The audited annual report. It covers a year that has already ended and says little about the current quarter. General guide to this form
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
The audited annual report. It covers a year that has already ended and says little about the current quarter. General guide to this form
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
The quarterly report. Its statements are reviewed but not audited, and one quarter can mislead on its own. General guide to this form
An amendment, so read it beside the original. The audited annual report. It covers a year that has already ended and says little about the current quarter. General guide to this form
The audited annual report. It covers a year that has already ended and says little about the current quarter. General guide to this form
Prospectuses and share registrations
Registers securities that may be sold later, often a shelf. Registering them does not mean any have been sold. General guide to this form
An update to an earlier registration. Read it beside the original. General guide to this form
Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
A prospectus for securities being offered. It does not say whether all of them will be sold, and it can cover debt rather than shares. General guide to this form
An amendment, so read it beside the original. Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
A prospectus for securities being offered. It does not say whether all of them will be sold, and it can cover debt rather than shares. General guide to this form
A prospectus for securities being offered. It does not say whether all of them will be sold, and it can cover debt rather than shares. General guide to this form
Registers securities that may be sold later, often a shelf. Registering them does not mean any have been sold. General guide to this form
Registers shares for employee stock plans. It is routine and is not a capital raise. General guide to this form
Registers shares for employee stock plans. It is routine and is not a capital raise. General guide to this form
Registers shares for employee stock plans. It is routine and is not a capital raise. General guide to this form
Registers shares for employee stock plans. It is routine and is not a capital raise. General guide to this form
A prospectus for securities being offered. It does not say whether all of them will be sold, and it can cover debt rather than shares. General guide to this form
An amendment, so read it beside the original. Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
An amendment, so read it beside the original. Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
Registers shares for employee stock plans. It is routine and is not a capital raise. General guide to this form
Registers shares for employee stock plans. It is routine and is not a capital raise. General guide to this form
A prospectus for securities being offered. It does not say whether all of them will be sold, and it can cover debt rather than shares. General guide to this form
An amendment, so read it beside the original. Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
An amendment, so read it beside the original. Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
Registers shares issued in a merger or exchange. The projections inside are not guarantees. General guide to this form
Registers shares for employee stock plans. It is routine and is not a capital raise. General guide to this form
Insider and institutional holdings
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
A change in an insider’s holdings. It is not automatically a purchase or sale in the market: awards, option exercises and tax withholding file here too, so read the transaction code. General guide to this form
Material events as they were disclosed
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Item 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. From the 8-K item number
Item 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. From the 8-K item number
An amendment, so read it beside the original. Item 5.07 reports the results of a shareholder vote. It gives the counts, and some votes are advisory only. From the 8-K item number
Item 5.07 reports the results of a shareholder vote. It gives the counts, and some votes are advisory only. From the 8-K item number
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Item 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. From the 8-K item number
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Item 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. From the 8-K item number
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Item 1.02 reports that a material agreement ended. It does not say what replaces it. From the 8-K item number
Item 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. From the 8-K item number
Item 5.02 reports a director or senior officer arriving or leaving, or their pay changing. It seldom says the real reason for a departure. From the 8-K item number
Item 5.07 reports the results of a shareholder vote. It gives the counts, and some votes are advisory only. From the 8-K item number
Item 5.02 reports a director or senior officer arriving or leaving, or their pay changing. It seldom says the real reason for a departure. From the 8-K item number
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Item 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. From the 8-K item number
Item 8.01 is for events the company chooses to report, with no required content. The label alone says nothing about the importance. From the 8-K item number
Item 2.01 reports that an acquisition or sale of assets closed. The price paid does not tell you whether it was a good deal. Also reports Items 5.02, 8.01. From the 8-K item number
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Item 8.01 is for events the company chooses to report, with no required content. The label alone says nothing about the importance. From the 8-K item number
Item 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. From the 8-K item number
Item 5.07 reports the results of a shareholder vote. It gives the counts, and some votes are advisory only. Also reports Item 7.01. From the 8-K item number
Item 7.01 shares information under fair disclosure rules, often slides. It is furnished rather than filed, so it carries less legal liability. From the 8-K item number
Shareholder meetings and pay disclosure
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
A draft proxy statement. Terms can change before the final version. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
The proxy statement for a shareholder vote, with executive pay and board nominees. It gives the board’s view of each proposal. General guide to this form
Each later 10-Q and 10-K prints earlier periods again as comparatives. When it prints a different value for the same period, both values are below with the filing behind each. The filing gives the reason (a correction, a new accounting standard applied to past years, a business moved to discontinued operations); we do not read it, so we do not name one. Every company’s count, and the rule
571 period figures were printed by more than one COFS filing. 511 carried the same value every time. 64 changes were a later report printing a different value for the same period. Not listed: 11 changes under 0.05% (the same figure at a different rounding).
| Figure | Period | First printed | Later printed | Change |
|---|---|---|---|---|
| Operating cash flow NetCashProvidedByUsedInOperatingActivities | Three months to 2025-03-31 | $-6.5M | $-9.4M | $2.9M lower (45.1%) |
| Shareholders’ equity StockholdersEquity | At 2022-12-31 | $168.9M | $160.8M | $8.0M lower (4.8%) |
| Operating cash flow NetCashProvidedByUsedInOperatingActivities | Year to 2024-12-31 | $48.6M | $47.1M | $1.6M lower (3.2%) |
| Operating cash flow NetCashProvidedByUsedInOperatingActivities | Year to 2023-12-31 | $46.5M | $46.3M | $149,000 lower (0.3%) |
| Operating cash flow NetCashProvidedByUsedInOperatingActivities | Nine months to 2024-09-30 | $24.6M | $23.7M | $944,000 lower (3.8%) |
| Total assets Assets | At 2024-09-30 | $2.73B | $2.72B | $2.8M lower (0.1%) |
| Total assets Assets | At 2024-06-30 | $2.62B | $2.67B | $47.6M higher (1.8%) |
| Shareholders’ equity StockholdersEquity | At 2022-12-31 | $160.8M | $168.9M | $8.0M higher (5.0%) |
| Operating cash flow NetCashProvidedByUsedInOperatingActivities | Year to 2022-12-31 | $45.0M | $44.3M | $690,000 lower (1.5%) |
| Operating cash flow NetCashProvidedByUsedInOperatingActivities | Six months to 2023-06-30 | $25.2M | $25.2M | $48,000 lower (0.2%) |
| Shareholders’ equity StockholdersEquity | At 2022-12-31 | $168.9M | $160.8M | $8.0M lower (4.8%) |
| Revenue RevenueFromContractWithCustomerIncludingAssessedTax | Three months to 2020-06-30 | $11,000 higher (0.6%) | ||
| Revenue RevenueFromContractWithCustomerIncludingAssessedTax | Six months to 2020-06-30 | $18,000 higher (0.4%) | ||
| Net income NetIncomeLoss | Three months to 2019-06-30 | $1,000 lower (0.1%) | ||
| Net income NetIncomeLoss | Three months to 2019-06-30 | $1,000 higher (0.1%) | ||
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Three months to 2019-03-31 | 3,618,328 shares | 3,634,048 shares | 15,720 shares higher (0.4%) |
| Diluted EPS EarningsPerShareDiluted | Three months to 2018-06-30 | 0.50 USD a share | 0.51 USD a share | 0.01 USD a share higher (2.0%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Year to 2018-12-31 | 3,614,302 shares | 3,628,127 shares | 13,825 shares higher (0.4%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Year to 2017-12-31 | 3,621,216 shares | 3,629,682 shares | 8,466 shares higher (0.2%) |
| Net income NetIncomeLoss | Three months to 2019-06-30 | $1,000 lower (0.1%) | ||
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Three months to 2018-09-30 | 3,613,516 shares | 3,630,051 shares | 16,535 shares higher (0.5%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Nine months to 2018-09-30 | 3,613,891 shares | 3,627,388 shares | 13,497 shares higher (0.4%) |
| Diluted EPS EarningsPerShareDiluted | Three months to 2018-06-30 | 0.51 USD a share | 0.50 USD a share | 0.01 USD a share lower (2.0%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Three months to 2018-06-30 | 3,613,398 shares | 3,625,948 shares | 12,550 shares higher (0.3%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Six months to 2018-06-30 | 3,614,197 shares | 3,624,660 shares | 10,463 shares higher (0.3%) |
| Diluted EPS EarningsPerShareDiluted | Three months to 2017-12-31 | 0.39 USD a share | 0.37 USD a share | 0.02 USD a share lower (5.1%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Year to 2017-12-31 | 3,448,777 shares | 3,621,216 shares | 172,439 shares higher (5.0%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Year to 2016-12-31 | 3,451,464 shares | 3,624,037 shares | 172,573 shares higher (5.0%) |
| Diluted EPS EarningsPerShareDiluted | Year to 2016-12-31 | 1.76 USD a share | 1.68 USD a share | 0.08 USD a share lower (4.5%) |
| Diluted EPS EarningsPerShareDiluted | Year to 2017-12-31 | 1.78 USD a share | 1.70 USD a share | 0.08 USD a share lower (4.5%) |
The newest 30 changes are listed, by the date of the later filing; 34 older ones are counted above.
Each report’s comparison uses the figures it filed for the same period a year earlier, for up to its newest 16 reports. A figure is left out when the filing has no matching period. Operating cash flow is left out for a financial company, because deposits and loans run through it. The notes on each row are general guides written by hand, not a reading of that filing. Open a 10-K, 10-Q, 8-K or Form 4 for a reading of that one filing, written by code from its own fields.
Source: the SEC’s own EDGAR submissions record for CIK 0000803164. Forms we do not recognise are left out rather than filed into the wrong group, so a category count is a count of what we could classify, not necessarily of everything ever filed.