Grouped by what each filing is, not just when it landed. Straight from EDGAR, free, no login. Back to CIX · 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
Three months to 2026-09-30 against 2025-09-30: Revenue $44.0M, up 10.1% from $40.0M; Net income $5.4M, up 26.9% from $4.2M. Nine months to 2026-09-30 against 2025-09-30: Operating cash flow $15.3M, up 41.1% from $10.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 2026-06-30 against 2025-06-30: Revenue $43.6M, up 8.0% from $40.4M; Net income $7.3M, up 33.2% from $5.5M. Six months to 2026-06-30 against 2025-06-30: Operating cash flow $6.0M, up 31.7% from $4.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 2026-03-31 against 2025-03-31: Revenue $40.6M, up 0.7% from $40.3M; Net income $5.9M, up 14.1% from $5.1M; Operating cash used $1.2M, 744.5% larger than $137,000. 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 $158.3M, up 8.5% from $145.9M; Net income $19.5M, up 17.4% from $16.6M; Operating cash flow $22.9M, down 0.3% from $22.9M. 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 2025-09-30 against 2024-09-30: Revenue $40.0M, up 18.7% from $33.7M; Net income $4.2M, up 21.4% from $3.5M. Nine months to 2025-09-30 against 2024-09-30: Operating cash flow $10.8M, down 30.5% from $15.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-06-30 against 2024-06-30: Revenue $40.4M, up 12.5% from $35.9M; Net income $5.5M, up 12.6% from $4.8M. Six months to 2025-06-30 against 2024-06-30: Operating cash flow $4.6M, down 60.1% from $11.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 2025-03-31 against 2024-03-31: Revenue $40.3M, up 6.1% from $38.0M; Net income $5.1M, up 36.7% from $3.8M; Operating cash used $137,000, against operating cash flow of $1.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
Year to 2024-12-31 against 2023-12-31: Revenue $145.9M, down 9.5% from $161.3M; Net income $16.6M, down 26.6% from $22.6M; Operating cash flow $22.9M, down 11.1% from $25.8M. 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 $33.7M, down 16.6% from $40.4M; Net income $3.5M, down 39.6% from $5.8M. Nine months to 2024-09-30 against 2023-09-30: Operating cash flow $15.6M, up 32.6% from $11.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 2024-06-30 against 2023-06-30: Revenue $35.9M, down 2.0% from $36.6M; Net income $4.8M, up 19.0% from $4.1M. Six months to 2024-06-30 against 2023-06-30: Operating cash flow $11.5M, up 17.7% from $9.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 2024-03-31 against 2023-03-31: Revenue $38.0M, down 7.7% from $41.2M; Net income $3.8M, down 38.1% from $6.1M; Operating cash flow $1.7M, down 45.4% from $3.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
Year to 2023-12-31 against 2022-12-31: Revenue $161.3M, down 3.2% from $166.6M; Net income $22.6M, up 8.3% from $20.9M; Operating cash flow $25.8M, up 52.8% from $16.9M. 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 $40.4M, down 5.9% from $42.9M; Net income $5.8M, up 16.3% from $5.0M. Nine months to 2023-09-30 against 2022-09-30: Operating cash flow $11.8M, up 44.9% from $8.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 2023-06-30 against 2022-06-30: Revenue $36.6M, down 12.1% from $41.7M; Net income $4.1M, down 34.1% from $6.2M. Six months to 2023-06-30 against 2022-06-30: Operating cash flow $9.8M, up 540.1% from $1.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 2023-03-31 against 2022-03-31: Revenue $41.2M, down 2.1% from $42.0M; Net income $6.1M, up 21.7% from $5.0M; Operating cash flow $3.1M, against operating cash used of $2.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
Year to 2022-12-31 against 2021-12-31: Revenue $166.6M, up 18.3% from $140.8M; Net income $20.9M, up 26.0% from $16.6M; Operating cash flow $16.9M, up 61.3% from $10.5M. 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
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
Prospectuses and share registrations
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
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
An amendment, so read it beside the original. Registers an offering, often a first public one. Terms and share counts can change before it is effective. General guide to this form
An amendment, so read it beside the original. Registers an offering, often a first public one. Terms and share counts can change before it is effective. General guide to this form
Registers an offering, often a first public one. Terms and share counts can change before it is effective. 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
An insider’s first statement of holdings. It shows what they own, and no trade needs to have happened. 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 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. Also reports Item 7.01. 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. Also reports Item 7.01. 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. Also reports Item 7.01. 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. Also reports Item 7.01. 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. Also reports Item 7.01. 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. Also reports Item 7.01. 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 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. Also reports Item 7.01. 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. Also reports Item 7.01. 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. Also reports Item 7.01. 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 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. Also reports Item 7.01. 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 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. Also reports Items 3.03, 5.03, 7.01. 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 2.02 says results were released, usually in an attached press release. It does not say results improved, and the figures are unaudited. Also reports Item 7.01. 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 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.05 reports a change or waiver of the code of ethics. It may not say what prompted 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. Also reports Item 7.01. 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
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
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
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
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
635 period figures were printed by more than one CIX filing. 498 carried the same value every time. 289 changes were a later report printing a different value for the same period. Not listed: 41 changes under 0.05% (the same figure at a different rounding).
| Figure | Period | First printed | Later printed | Change |
|---|---|---|---|---|
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Nine months to 2025-09-30 | 12,321,000 shares | 12,321 shares | 12,308,679 shares lower (99.9%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Three months to 2025-09-30 | 12,323,000 shares | 12,323 shares | 12,310,677 shares lower (99.9%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Six months to 2025-06-30 | 12,320,000 shares | 12,320 shares | 12,307,680 shares lower (99.9%) |
| Diluted share count WeightedAverageNumberOfDilutedSharesOutstanding | Three months to 2025-06-30 | 12,321,000 shares | 12,321 shares | 12,308,679 shares lower (99.9%) |
| Net income NetIncomeLoss | Three months to 2020-09-30 | $32,000 higher (1.8%) | ||
| Operating income OperatingIncomeLoss | Three months to 2020-09-30 | $18,000 lower (0.9%) | ||
| Gross profit GrossProfit | Three months to 2020-09-30 | $28,000 higher (0.4%) | ||
| Revenue RevenueFromContractWithCustomerExcludingAssessedTax | Three months to 2020-09-30 | $28.4M | $28.4M | $26,000 higher (0.1%) |
| Net income NetIncomeLoss | Three months to 2020-06-30 | $35,000 lower (1.7%) | ||
| Operating income OperatingIncomeLoss | Three months to 2020-06-30 | $31,000 lower (1.3%) | ||
| Gross profit GrossProfit | Three months to 2020-06-30 | $34,000 lower (0.5%) | ||
| Net income NetIncomeLoss | Three months to 2020-03-31 | $29,000 lower (0.7%) | ||
| Operating income OperatingIncomeLoss | Three months to 2020-03-31 | $20,000 higher (0.4%) | ||
| Gross profit GrossProfit | Three months to 2020-03-31 | $10.4M | $10.4M | $31,000 higher (0.3%) |
| Net income NetIncomeLoss | Three months to 2020-09-30 | $32,000 lower (1.7%) | ||
| Net income NetIncomeLoss | Three months to 2020-06-30 | $35,000 higher (1.7%) | ||
| Operating income OperatingIncomeLoss | Three months to 2020-06-30 | $31,000 higher (1.3%) | ||
| Operating income OperatingIncomeLoss | Three months to 2020-09-30 | $18,000 higher (0.9%) | ||
| Operating income OperatingIncomeLoss | Three months to 2019-09-30 | $34,000 higher (0.8%) | ||
| Net income NetIncomeLoss | Three months to 2020-03-31 | $29,000 higher (0.7%) | ||
| Gross profit GrossProfit | Three months to 2020-06-30 | $34,000 higher (0.5%) | ||
| Operating income OperatingIncomeLoss | Three months to 2020-03-31 | $20,000 lower (0.4%) | ||
| Operating income OperatingIncomeLoss | Three months to 2019-06-30 | $22,000 lower (0.4%) | ||
| Gross profit GrossProfit | Three months to 2020-09-30 | $28,000 lower (0.4%) | ||
| Gross profit GrossProfit | Three months to 2019-06-30 | $10.9M | $10.9M | $39,000 lower (0.4%) |
| Net income NetIncomeLoss | Three months to 2019-03-31 | $14,000 higher (0.4%) | ||
| Net income NetIncomeLoss | Three months to 2019-09-30 | $13,000 higher (0.3%) | ||
| Gross profit GrossProfit | Three months to 2020-03-31 | $10.4M | $10.4M | $31,000 lower (0.3%) |
| Gross profit GrossProfit | Three months to 2019-09-30 | $24,000 higher (0.3%) | ||
| Gross profit GrossProfit | Three months to 2019-03-31 | $24,000 lower (0.2%) |
The newest 30 changes are listed, by the date of the later filing; 259 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. 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 0001049606. 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.