> ## Documentation Index
> Fetch the complete documentation index at: https://docs.readyforcommerce.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Ready for Commerce is an ecosystem that currently contains two products, PIM and Repricer, standing on one shared foundation: one identity, one organization, one team, one bill. Do not call it a platform with features, and never hint at an unreleased product.
> PIM connects to Shopify, Amazon, Square, Google Merchant Center and BigCommerce. Repricer connects to Amazon, Walmart, Shopify, BigCommerce, eBay and Square. The two products do not share one list, and each integration is authorized separately inside each product. The roster grows on purpose, so describe what the product does and let a table carry which integrations do it today, instead of counting them or writing that only one does something.
> Integration is the word this product uses, and it is the default in the documentation: the connection, the account, the Integrations screen, the per-account settings and the sync state are all integrations. Channel is reserved for the narrow sense of a destination where a listing lives, as in a product being live on a channel or archived on the channel.
> Newegg is not a supported channel. Do not describe it.
> On Amazon, PIM manages the offer only: price, availability and condition. It does not publish listing content such as titles, descriptions, images or specifications.
> Sign-in is passwordless: a single-use code emailed to the user, or Google. There are no passwords anywhere, so never describe a password, a sign-up with a password, or an email confirmation link.
> There is no public API for customers and no customer-facing webhooks. There is no organization-wide activity feed and no audit export, but the PIM does keep version history on products, brands, categories, tags and specifications, with who changed what and a restore, so never write that changes are not recorded or that an edit cannot be undone. Do not describe capabilities that are not documented here.
> Never write that the products have no AI, and never write that anything is AI-powered. Both are wrong. The PIM's image Optimizer runs AI-backed transforms the seller starts on purpose: Upscale, Remove background, and the region selection behind Refine. The Repricer reads competitor prices off web pages on the server. No control, badge or tooltip in either product names AI, and the seller never writes a prompt, so describe what the buttons do in the app's own words instead of reaching for the word.
> A PIM product, brand, category or variant can be switched off per connected integration account. Hover the channel badge and the switch is beside the account name in the card that opens. It carries no visible caption, so never call it the Sync switch: Sync is only its accessible name. On a variant-grained provider, Amazon today, the switch moves into the variant editor. On a product it asks whether to delete it from the channel, archive it there, or leave it live. Disabling stops publishing, not reading. There is still no per-field sync toggle.
> The PIM's image Optimizer replaced a feature called Squarify, which no longer exists. It resizes to an aspect ratio or to exact dimensions, removes backgrounds, upscales, trims the transparent margin around a cutout and re-centers it, pads, fills and re-encodes, and it always publishes a new asset instead of changing the original. Nothing crops into the picture: the subject is always contained whole.
> The PIM has no repricing engine and never reacts to a competitor's price. It does build the price it publishes to each integration account from the seller's own fields, configured in that account's settings, so do not write that the PIM has no pricing rules.
> Neither product has an in-app notification center, bell or inbox. Notifications are delivered by email only.
> Billing is per organization and per product, and only the organization owner can see or change it. Team members are free and uncounted, so never describe seats or per-user pricing.
> The seller never picks a plan. Each product has twelve price tiers assigned automatically from usage: the PIM from catalog product count, which includes drafts and archived products, and the Repricer from trailing 30-day sales. Nothing is feature-gated by plan and exceeding a tier never blocks work, so never write that a feature requires a higher plan.
> A subscription that is past due or paused makes the product read-only, which stops repricing and blocks edits without deleting data. Only a canceled subscription locks the seller out. Nothing is ever charged without a payment method on file.
> Pages containing the text 'This page has not been written yet', or its Spanish equivalent 'Esta página todavía no está escrita', are placeholders. Do not treat their headings as documented behavior.

# Reports

> The reports tell you the state of your catalog, how complete it is and what is broken or unused, and most of them open the exact records behind a number.

A report is a picture of your catalog rather than a piece of it. Each one counts a single subject, such as your products, your prices, your images or your feeds. Each one then answers three questions about that subject. How much of it do you have, how much of it is filled in, and how much of it is broken or unused? Nothing you do here changes a record.

Most people open a report to find work. Eight of the ten end in a list of the exact records behind the number, and most of those rows link into the page where you fix the problem. So a question like "which products have no brand" or "which prices are below my MAP" starts on a report and finishes in your catalog.

You will find all of this under `Reports` in the left sidebar. The page is a grid of cards, one card per report, and each card shows a headline number and a small chart. Click a card and that report opens in a dialog over the page. One control is at the top of the page next to the title `Reports`: a date range, which five of the reports follow and the other five ignore.

## Before you start

Two things decide which cards you see: your role, and whether your organization has anything for a report to count. Everything else on this page can wait until you need it.

### What your role lets you see

| Role | The eight catalog reports | The Integrations report | The Data Sources report |
| --- | --- | --- | --- |
| Admin | Yes | Yes | Yes |
| Manager | Yes | No | Yes |
| Editor | Yes | No | No |

A report your role cannot see has no card on the page and no address you can open. If a teammate sends you a link to one, you get the grid of cards with no message. Roles are set in [team, roles and permissions](/team#what-each-pim-role-can-do).

Those same two reports need something to report on. The Integrations report stays hidden until someone has connected an account, and the Data Sources report stays hidden until someone has created a feed. Connect the first account and its card appears on its own, without a reload.

## How to open a report

<Steps>
  <Step title="Open the reports page">
    Click `Reports` in the left sidebar. The page fills with one card per report, each showing a number and a small chart.
  </Step>

  <Step title="Set the period you care about">
    The date range is at the top of the page, next to the title `Reports`, and starts on `Last 30 days`. Click it and pick another period, or pick a start and an end date on the calendar.
  </Step>

  <Step title="Open a report">
    Click anywhere on its card. The report opens in a dialog over the page, with the card's name at the top left.
  </Step>

  <Step title="Read the totals, then the table">
    Every report opens on a row of totals. Hover over one to read a sentence saying what it counts. Under the totals, eight of the ten show a table of the records behind them.
  </Step>

  <Step title="Click a row to go and fix it">
    Most table rows link to the record they name. Click one and it opens that product, brand, file or feed, and you leave the reports page.
  </Step>
</Steps>

That is the whole flow. Close the dialog with the × at its top right, by clicking outside it, or by pressing Escape. You come back to the cards, with your date range still set.

Everything below explains the cards, the date range and the tables one at a time. You do not need any of it to read a report.

## Every option in detail

The sections below follow the page: the ten cards, the date range above them, what you see inside a report dialog, and the controls that come with a table.

### The ten reports and what each one counts

Each report has a page of its own, and its name in the first column links there.

| Report | The number on its card | What it answers |
| --- | --- | --- |
| [Catalog](/pim/reports/catalog) | Your product count | How your products split across the four statuses and the conditions, and how many you created and changed in the period |
| [Data Coverage](/pim/reports/data-coverage) | Coverage as a percentage | Which fields your products are missing, worst first |
| [Taxonomy](/pim/reports/taxonomy) | Unused entries | How many brands, categories, tags and specification values no one has put on a product |
| [Pricing](/pim/reports/pricing) | Pricing issues, or priced variants as a percentage | Which variants are below your MAP, above your MSRP or below your cost, and how your margins are spread |
| [Inventory](/pim/reports/inventory) | Total stock units | How much stock you have, how it is spread, and how many variants you track at all |
| [Identifiers](/pim/reports/identifiers) | SKU coverage as a percentage | Which variants have no SKU, and which of those are already live on a channel |
| [Integrations](/pim/reports/integrations) | Connected accounts | Which accounts need attention, how many listings each provider has, and how many pushes failed |
| [Assets](/pim/reports/assets) | Your file count | How much storage you use, how many files are attached to nothing, and the split by kind and by size |
| [Data Sources](/pim/reports/data-sources) | Your feed count | Which feeds are active, paused or failing, and how many records each one matched |
| [Uploads](/pim/reports/uploads) | Imports and exports run | How many of them finished, how many failed, and a day by day breakdown |

The set is fixed. You cannot build a report of your own, rename one of these, or hide one you never use.

### Choose your date range

The date range at the top of the page, next to the title `Reports`, sets the period the counting reports cover. It starts on `Last 30 days` every time you arrive.

Click it and a calendar opens, with the periods listed down one side. Your choices are `Today`, `Yesterday`, `Last 7 days`, `Last 14 days`, `Last 30 days`, `Last 90 days`, `Month to date`, `Quarter to date`, `Year to date` and `All time`. Pick one of those, or click a start date and an end date on the calendar for any period you want.

Your choice follows you into a report and back out again, so you set it once.

| Report | Follows the date range |
| --- | --- |
| `Catalog` | Yes |
| `Integrations` | Yes |
| `Assets` | Yes |
| `Data Sources` | Yes |
| `Uploads` | Yes |
| `Data Coverage` | No |
| `Taxonomy` | No |
| `Pricing` | No |
| `Inventory` | No |
| `Identifiers` | No |

**The five in the second half count what is true right now**, which is why a period would mean nothing to them. A product either has a brand today or it does not, and the PIM keeps no answer to what it had last week. The five above them count things that happened, and a thing that happened has a date on it.

You can tell which is which without this table. Open a report that follows the range and the same date control appears at the top of its dialog, next to the report name. Open one that ignores the range and no date control is there at all.

Changing the range clears the sorting, the search and the filters you had set on a table inside a report. The rows are about to be counted again, so the table starts over on its first page.

<Accordion title="Where the date range goes in the web address">
  Your period rides in the address of the page, as `?range=7d` for a listed period or as `?from=` and `?to=` for one you picked on the calendar. `Last 30 days` is the default, so it is left out of the address entirely.

  That is what makes a report you send someone open on the same period you were reading. It also means the browser Back button does not step through your period changes, because none of them adds a history entry.
</Accordion>

### What you see inside a report

Every report dialog is built from the same three parts, in whatever order suits it, so once you have read one you can read all ten.

| Part | What it gives you |
| --- | --- |
| A row of totals across the top | The headline counts. Hover over one for a sentence saying exactly what it counts, and click the ones that are links to open your catalog already filtered to them |
| One or two charts | The same numbers spread across ranges, kinds or days, so you can see where the weight is |
| A table, on eight of the ten | The records behind the totals, one per row, most of them linking to the record itself |

Two of those tables are called `Needs attention`, on the `Pricing` and `Identifiers` reports, and they list the records with a problem instead of a breakdown. The taxonomy one is called `Top entries`.

The `Catalog` and `Inventory` reports have no table. They are summaries of your whole catalog, and there is no shorter list of records to hand you.

Not every number is a link, and not every table row is either. On the `Data Coverage` report the rows for `Features` and `Primary image` open nothing, because the products table has no filter for those two.

### Work the table inside a report

The same four controls are above every one of those tables.

| Control | What it does |
| --- | --- |
| `Search` | Narrows the rows to the ones with what you type in them |
| `Columns` | Opens a panel where you check and uncheck the columns you want |
| `Filter` | Opens a panel where you pick a column, a condition and a value |
| `Density` | Sets the row height to `Compact`, `Standard` or `Comfortable` |

Click a column header to sort by it, and click it again to reverse the order. Every table arrives already sorted on the column that matters most for that report, usually the one with the problem in it.

Long tables page at the bottom, 25 rows at a time. Change that to 50 or 100 at the bottom of the table.

<Accordion title="Why your column layout does not follow you to another computer">
  Your browser remembers the columns you hid, the order you dragged them into and the widths you set. It remembers the ones you pinned and the row height you chose too.

  Sign in on another computer, or clear your browsing data, and that table comes back with its original layout. There is no way to hand your layout to a teammate either, so agree on what to look at instead of on how it should look.
</Accordion>

### Send someone the exact report you are reading

Every report has a web address of its own, such as `/reports/pricing`, and opening a card writes it into the address bar. Your date range is in there, and so is everything you did to the table: the sort, the page you are on, the search box and the filters.

So copy the address bar and send it. Whoever opens it sees your view rather than the default one, as long as their role lets them see that report. Someone whose role does not gets the grid of cards instead.

### Limits

| What | Limit |
| --- | --- |
| Reports | 10 |
| Rows in a `Needs attention` table | 500 |
| Rows in the taxonomy `Top entries` table | 10 per kind |
| Rows on one page of a table | 25, 50 or 100 |
| Reports open at once | One |

### What a report cannot do

| You cannot | Do this instead |
| --- | --- |
| Download a report, print it, or get it as a CSV or a PDF | Export the records themselves from [exports](/pim/uploads/exports) |
| Have a report emailed to you, or sent to you on a schedule | Open it when you want it |
| Build, name or save a report of your own | Save the filtered view you want on a catalog table, with [saved views](/pim/saved-views) |
| See sales, revenue or profit | Nothing in the PIM records a sale |
| Change a record from inside a report | Click the row and change it where the record is kept |
| Compare two periods side by side | Read one period, change the range, read the other |

## How current the numbers are

Two different things happen depending on whether a report is open, and the difference surprises people.

### While you are looking at the cards

The cards keep themselves current. Finish an import, connect an account, or edit a product in another tab, and the numbers on the cards catch up a couple of seconds later without a reload. A card that was hidden because you had nothing to count appears the same way.

Every number counts your whole organization and not only your own work, and every number is exact, never an estimate.

### While a report is open

An open report does not do that. It reads its numbers once, when you open it, and then stays still however much your catalog moves under it. Close the dialog and click the card again to get newer numbers.

Changing the date range from inside an open report is the one exception, and it reloads that report right away, because you have asked it a different question.

## When something goes wrong

### A report says it has no data

`No catalog data available`, and the same line for any other report, means the report ran and found nothing to count. Two things cause it. Either you have not added the records that report is about yet, or your date range is narrower than you meant and nothing happened inside it. Widen the range to `All time` to tell those two apart.

### A report will not load

`Failed to load report` appears above `We couldn't load this report. Please try again.` Close the dialog and click the card again. If the second attempt fails too, reload the page and try once more.

### A link opens the grid of cards instead

A link that puts you on the cards, instead of the report it named, is telling you one of three things. The address has a typo in it, your role cannot see that report, or your organization has nothing for it to count. Nothing tells you which, so check the roles table above first.

## Where to go next

<Columns cols={2}>
  <Card title="Dashboard" icon="gauge" href="/pim/dashboard">
    The other place these numbers appear, and why it has no date range.
  </Card>

  <Card title="Exports" icon="download" href="/pim/uploads/exports">
    How to get the records behind a report out as a spreadsheet.
  </Card>

  <Card title="Filters" icon="funnel" href="/pim/filters">
    What happens after you click a row and end up in your catalog.
  </Card>

  <Card title="Team, roles and permissions" icon="users" href="/team">
    Which role sees which report, and who can change one.
  </Card>
</Columns>
