Use tables and exports

TL;DR

The filtered screens open on the last three months with a 10,000 row cap, and an export gives you what the table currently holds rather than the whole table. Both are why data looks missing when it is not.

Getting the rows you want out of a CCC screen takes knowing three things: what the screen filtered before you arrived, what it capped, and what an export actually contains.

What the screen did before you arrived

The transaction listings and traffic view open pre-filtered, as does the impact screen. Their defaults come from config/settings.json and are the same on every one of them:

SettingDefault
FromThree months ago
ToYesterday
Row limit10,000

The default to-date is yesterday. Today's transactions can already be imported and classified, but are still arriving. Earlier days can also change after late imports or recalculation; the default is a viewing choice, not a completeness guarantee.

The income statement has its own pair: from the first of January of the current year, to yesterday.

The row limit is a performance cap, not a filter. The query stops at that many rows. A result that exactly hits the limit may be truncated, so raise it or narrow the dates rather than reading the total.

Before concluding something is missing

  1. Widen the date range. Three months is short for anything seasonal, and the date filtered on is the creation date on transaction listings, transaction date on impacts, and day on traffic. See dates, currency and signs.
  2. Raise the row limit, and check whether the count you got equals the limit you set.
  3. Check whether the period has been imported at all. Pre-2022 data came from a hand-run backfill and differs per environment; pre-2022 orders also carry no margin by design. See sales orders.
  4. Check whether the day has been classified. The screens read the classification tables, so an imported but unclassified day reads as absent.

Filters, sorting and columns

The filter form is applied on the server and lands in the address, so a filtered view is shareable as a link. Reopening it repeats the filters, not a frozen snapshot of the underlying data.

Everything after that happens in the table itself: search, multi-column sort, per-column select filters, showing and hiding columns, and full screen. Several columns are hidden by default, including the id columns beside each name. Use the column picker before assuming a field is not there.

Export

Export appears on a table only when your user carries the export module flag. It offers JSON, XML, CSV, TXT and SQL.

It exports what the table holds, which is what the filter and the row limit left. It is not an extract of the underlying table, and a hidden column is not in it.

For a real extract, use the export screen, which builds a query against the schema and streams the result, or query the database directly. See consuming CCC.

Evidence

Defaults and the nine screens they apply to from config/settings.json and the $settings handshake in app/http/transactions/*.php. Table options, the export gate, the export types and the hidden columns from templates/main/transactions/salesorders.tpl, which every filtered screen follows. Basis: code-checked against the current implementation.

About this document
  • Type
    guide
  • Status
    active
  • Updated
    2026-09-14
  • Created
    2026-09-13