> ## 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.

# Repricing health report

> Which of your listings are actually repricing, which ones are stopped, and what each stopped one is missing before it can start again.

The Repricer prices a listing only when it has everything it needs from you. So at any moment part of your catalog is being repriced and part of it is standing still. This report is your headcount of which is which.

You get eight figures in two rows, one bar for each repricing state, and a table of the listings that are stopped. Each row of that table names the one number the listing is waiting on. You can type that number in from the table itself.

Most people open it for one of two reasons. Either you want the single percentage for how much of your catalog is repricing, or you want the worklist of what to go and fix. Click `Reports` in the sidebar down the left, then click the `Repricing Health` card. Your report opens in a dialog over the screen, headed `Repricing Health Report`, and it counts your listings as they stand this minute.

## Before you start

### What your role lets you do

| What you want to do | The lowest role that can |
| --- | --- |
| Read every figure and every row in this report | `Analyst` |
| Type a `Unit Cost` or a `Minimum Price` on a listing | `Editor` |
| Change the `Price Floor` step on a strategy | `Manager` |

Every role opens the report and reads all of it. What your role decides is whether you can fix what you find, because every fix happens on a listing or on a strategy and never here. Roles are set in [team, roles and permissions](/team#what-each-repricer-role-can-do).

## How to read this report

<Steps>
  <Step title="Open the report">
    Click `Reports` in the sidebar down the left. You get six cards. Click the `Repricing Health` card and your report opens in a dialog over the screen.
  </Step>

  <Step title="Read your coverage">
    `Repricing Status` is the heading at the top of the dialog, with four figures under it. The last of the four, `Coverage`, is the share of your listings the Repricer is pricing. Hover the small info icon beside any figure and you get a sentence saying what it counts.
  </Step>

  <Step title="See where the rest of them are">
    `Status Breakdown` is the row of bars in the middle of the dialog. It splits every listing you have across `Working`, `Manual`, `Paused` and `Not working`. Each bar gives you a count on its right.
  </Step>

  <Step title="Read your worklist">
    `Needs Attention` is the table at the bottom of the dialog. One row is one listing that cannot reprice, and the `Issue` column on that row names what it is missing.
  </Step>

  <Step title="Fix a listing from the table">
    Click the `SKU` on any row. That listing opens in a dialog on top of the report, on its `Pricing` tab, which is where `Unit Cost` and `Minimum Price` are. Type the number the `Issue` column asked you for and close that dialog.
  </Step>
</Steps>

That is the whole report. Close the report dialog with the × at the top of it, with the Escape key, or by clicking outside it, and you come back to your six cards.

Everything below explains one piece at a time. The one part worth reading anyway is why `Working` and `Not Working` do not add up to your total, which is further down this page.

## Every option in detail

### The four figures under Repricing Status

`Repricing Status` is the heading at the top of the report dialog, and you get four figures under it. Each one gives you a label, a number and a small info icon. Hover the icon and you get a sentence saying what that figure counts.

| Figure | What it counts |
| --- | --- |
| `Total Listings` | Every listing you have, whatever state it is in |
| `Working` | The listings the Repricer is pricing for you |
| `Not Working` | The listings it is not pricing |
| `Coverage` | `Working` as a share of `Total Listings`, to 1 decimal, as `62.5%` |

**`Coverage` divides `Working` by `Total Listings`.** Nothing is left out of the bottom of that sum. Every listing you have is down there, the ones the channel has stopped selling and the ones you paused included. So a low percentage is not the same thing as a problem, and the two sections after this one are how you tell them apart.

`Total Listings` is the only figure here that gives you your whole catalog in one number. Read the other three against it, because 40 stopped listings out of 60 is a different problem from 40 out of 40,000.

### The four figures under Data Completeness

`Data Completeness` is the second heading in the report dialog, under the first row of figures, and you get four more figures under it. These four are about what you have filled in, not about what the Repricer is doing with it.

| Figure | What it counts |
| --- | --- |
| `With Cost` | Listings with a `Unit Cost` on them |
| `No Cost` | Listings with no `Unit Cost` |
| `With Min Price` | Listings with a `Minimum Price` on them |
| `No Min Price` | Listings with no `Minimum Price` |

Each pair adds up to every listing you have. Both figures on a row move the moment you save one of those two numbers on any one of your listings.

**A blank in one of these is not automatically a problem.** Which of the two numbers a listing needs depends on the strategy you put it on. Some strategies calculate the floor from your cost, and some take a minimum price from you. So a listing with no cost is only stuck when its strategy wanted one, and [the price floor and ceiling](/repricer/strategies/price-floor) covers the two kinds. The `Needs Attention` table further down is the part of this report that knows which of your listings are genuinely waiting.

### The status breakdown bars

`Status Breakdown` is the row of bars between your two rows of figures and the table. Each bar is one of the four values of the `Repricing Status` column in your listings table. The label is on the left, the bar in the middle and the count on the right.

| Bar | What it is |
| --- | --- |
| `Working` | The Repricer has what it needs and prices your listing |
| `Manual` | You typed a `Manual Price` on the listing, so the Repricer publishes that instead |
| `Paused` | You turned repricing off for that listing |
| `Not working` | The Repricer is not pricing it |

The four bars add up to every listing you have, and you read their widths against that same total. They are also the only place your `Manual` and `Paused` counts appear, which is why the figures above them come up short of `Total Listings`.

All four values are set out in [listing and repricing status](/repricer/listings/statuses#how-to-find-out-why-a-listing-is-not-repricing), along with how to find out why one of your listings is stopped.

<Accordion title="Where a listing you paused goes once the channel stops selling it">
  Only listings the channel is currently selling can be in the first three bars. A listing whose `Listing Status` has left `Active` goes into `Not working`, whatever you had set on it.

  So a listing you paused months ago and then took down is in the last bar and not in `Paused`. Your `Paused` bar counts what you paused and are still selling, which is why it can read lower than you expect.
</Accordion>

### Every column in the Needs Attention table

`Needs Attention` is the table at the bottom of the report dialog, and the line above it counts your rows for you. One row is one of your listings whose strategy is waiting on a number you have not given it.

| Column | What it shows |
| --- | --- |
| `SKU` | Your own code for the listing. Click it to open the listing |
| `Product Title` | The product name, cut short to fit, and hover it for the whole thing |
| `Region` | Which of your regions the listing sells in, such as `Amazon.com` |
| `Strategy` | The strategy this listing is on |
| `Current Price` | What you are asking today, in the currency that listing sells in |
| `Issue` | What the listing is missing, as one of the three answers below |

`Issue` is the column you read first, and it has three answers.

| `Issue` reads | What it means | Where you fix it |
| --- | --- | --- |
| `Missing Cost` | The strategy calculates the floor from your cost, and this listing has no `Unit Cost` | The `Pricing` tab of the listing |
| `Missing Min Price` | The strategy takes the floor from you, and this listing has no `Minimum Price` | The `Pricing` tab of the listing |
| `No Floor Configured` | The strategy itself has no minimum price source picked, so no listing on it has a floor to work to | The `Price Floor` step of that strategy |

**A listing is in this table once and never twice.** The strategy you put it on decides which of the three answers you get. A strategy has exactly one answer for where its floor comes from, so your three counts add up to the number of rows.

**Your table opens sorted by `Issue`**, which puts the listings missing the same number together. That is the order you would want to work through them in. Click any other column header to sort by that column instead.

Above the rows is the same toolbar every table in the Repricer gives you. It has `Search`, `Columns`, `Filter` and `Density` on it, and [filters](/repricer/filters) covers what each one does. `Region`, `Strategy` and `Issue` filter from a dropdown, and each dropdown lists only the values your own table has in it. The table opens on 25 rows a page, and `25`, `50` and `100` are your choices in the footer under it.

### Fixing a listing without leaving the report

Every `SKU` in `Needs Attention`, the table at the bottom of the report dialog, is a link. Click one and that listing opens in a dialog on top of the report, on its `Pricing` tab. That tab has `Unit Cost` in its `Cost of Goods` card and `Minimum Price` in its `Price Limits` card. So whichever number the `Issue` column named is already in front of you. Every field on that tab is covered in [pricing on a listing](/repricer/listings/pricing), including what to do when one of them is read-only.

Close that dialog with the × at its top and you are back on the report, in the same place in your table.

<Accordion title="What to do when the Issue column reads No Floor Configured">
  This is the one answer the `SKU` shortcut does not fix, because the number is missing from your strategy and not from your listing. Opening the listing shows you nothing to type.

  Click `Strategies` in the sidebar down the left, then open the row of the strategy the `Strategy` column named. Pick `Calculate from cost` or `Set manually` on its `Price Floor` step, and every listing on that strategy has a floor from then on.
</Accordion>

**For more than a handful, fill the numbers in somewhere else.** `Cost` and `Min` are both columns on your listings table under `Listings` in the sidebar. Work down a column there instead. For a long list, put your numbers in a spreadsheet and send the file in, which [imports](/repricer/uploads/imports) covers.

### Narrowing the report to one account or region

In the bar beside the report title are up to three dropdowns, `Integration`, `Account` and `Region`. They start on `All Integrations`, `All Accounts` and `All Regions`. Each one narrows every figure, every bar and every row in your report at once. You may see fewer than three of them, and [reports](/repricer/reports) covers why.

Narrowing moves `Total Listings` with everything else. So what you get is the coverage of one account, not a slice of the coverage of everything. That is how you find which of your accounts a low percentage is coming from. Set the three back to `All` and you have your whole catalog again.

There is no date range dropdown beside those three on this report, where every other report gives you one, and the reason is further down this page.

### Limits

| What | Limit |
| --- | --- |
| Bars in `Status Breakdown` | 4 |
| Answers the `Issue` column can hold | 3 |
| Rows the table shows at once | 25, 50 or 100 |
| Decimals on `Coverage` | 1 |

### What this report cannot do

| You cannot | Do this instead |
| --- | --- |
| Pick a date range, or read what your coverage was last month | Read the figures you have now, which are the only ones this report keeps |
| See why a particular listing reads `Not working` | Hover its `Repricing Status` cell in your listings table, which [listing and repricing status](/repricer/listings/statuses#the-repricing-status-column) covers |
| Fix more than one listing at a time from here | Work down the `Cost` and `Min` columns of your listings table, which [listings](/repricer/listings) covers |
| Find the listings with no strategy on them | Read the `Strategy` column of your listings table, which is empty on those |
| Download, print or email it | Export your listings with their `Cost` and `Min` columns, which [exports](/repricer/uploads/exports) covers |
| Get an alert when your coverage drops | Open the report when you want it |

## What the numbers count

### Which of your listings are counted

Two different groups are counted on this report, and knowing which is which is what makes your figures agree with each other.

**The eight figures and the four bars count every listing you have.** A listing the channel has stopped selling is in there. So is one that came in with an error, and so is one nobody has ever opened. Nothing is left out, which is why the four bars always add up to `Total Listings`.

**The `Needs Attention` table counts far fewer.** One of your listings is in it only when all three of these are true.

- Its `Listing Status` is `Active`, so the channel has your item live.
- It has a strategy on it. A listing with an empty `Strategy` is never in this table, however much is missing from it.
- Its strategy is waiting on a number you have not given that listing.

So `No Cost` can read 400 on a report whose table has 40 rows in it, and both are right. Your other 360 are listings with no strategy, listings the channel is not selling, and listings whose strategy never wanted a cost.

### Why Working and Not Working do not add up to your total

This is the part of the report that surprises people. `Working` plus `Not Working` comes out short of `Total Listings`, and nothing on screen says where the difference went.

The difference is your `Manual` and your `Paused` listings. There are four repricing states, and only two of them are figures at the top of your report. The other two are in the `Status Breakdown` bars and nowhere else.

| Figure | Which of the four states it counts |
| --- | --- |
| `Working` | `Working` |
| `Not Working` | `Not working`, plus every listing the channel is not selling |
| Neither one | `Manual` and `Paused` |

`Coverage` divides by `Total Listings` and not by the two figures beside it. So a listing you set to `Manual` pulls your percentage down exactly as far as a broken one does. Pause half your catalog for a season and your coverage halves with nothing wrong anywhere. Read the `Status Breakdown` bars before you read the percentage as bad news.

### Why this report has no date range

Every other report gives you a date range dropdown beside its title. This one has none.

The other reports count events, and an event happened on a day. A sale happened on a day and a price change happened on a day, so a longer period gives you more of them. This report counts the state your listings are in, and a state has no day attached to it. One of your listings either has a cost on it right now or it does not, and asking for the last 90 days of that answers nothing.

So your report reads the same whatever the date range on the `Reports` page behind the dialog says. You can see which of the six reports that dropdown moves in [reports](/repricer/reports).

### When each figure changes

The two halves of this report are written by different things, so they do not move at the same speed.

| What you change | What moves |
| --- | --- |
| You save a `Unit Cost` or a `Minimum Price` | Both `Data Completeness` pairs, and the row leaves `Needs Attention` |
| The Repricer looks at that listing again | `Working`, `Not Working` and `Coverage` |

So filling in a cost takes that listing off your worklist right away. Your coverage moves later, once the Repricer has been back to the listing, and [listing and repricing status](/repricer/listings/statuses) covers what happens then.

## When something goes wrong

### Every number reads 0

| What you have | What you get |
| --- | --- |
| No seller account connected | `0` on all eight figures, no bars and no table |
| An account connected, and its first sync still running | The same, until your listings arrive |
| A dropdown narrowed to something you have no listings on | The same, for that slice |

You can tell this state by one decimal. `Coverage` reads `0%` here rather than `0.0%`, which is your sign that there was nothing to divide instead of nothing repricing.

### A whole section is missing

Two parts of this report are not drawn at all when they have nothing to put in them, and neither one tells you so.

| What is missing | What that means |
| --- | --- |
| No `Status Breakdown` bars | `Total Listings` is 0 |
| No `Needs Attention` table | Nothing is waiting on a number from you |

An empty `Needs Attention` is the good answer, and it is the one you are working toward. It does not promise you that everything is repricing, because a paused listing is not waiting on you either.

### A listing you just fixed is still in the table

The report reads its figures once, when you open it, and nothing on it recounts while you work. So a listing you fixed in the dialog on top of it keeps its row and its `Issue`. To watch it go, close the report and click the `Repricing Health` card on `Reports` again.

For one listing, the `Repricing Status` column of your listings table under `Listings` in the sidebar is your quicker check.

### Not Working covers more than a missing number

`Not Working` counts every listing outside `Working`, `Manual` and `Paused`, so it is wider than your table under it. A listing the channel is not selling is in that figure. So is one with no strategy on it, and so is a listing that arrived this morning and has not been looked at yet. None of those three is missing a cost or a minimum price, and none of them is in `Needs Attention`.

To find out about one of them, click `Listings` in the sidebar down the left, then hover its `Repricing Status` cell and read the panel behind it. Every reason that panel can give you is set out in [listing and repricing status](/repricer/listings/statuses#every-repricing-issue-and-what-it-needs-from-you).

### A message instead of the report

Every message that takes over the report dialog comes with a `Retry` button under it, and [reports](/repricer/reports) lists them with what to do about each.

Two more come from clicking a `SKU`, and both give you a small message at the corner of the screen.

| Message | What to do |
| --- | --- |
| `Listing not found` | That listing is no longer there. Close the report and open the card again to recount |
| `Failed to load listing details` | Click the `SKU` again |

## Where to go next

<Columns cols={2}>
  <Card title="Listing and repricing status" icon="signal" href="/repricer/listings/statuses">
    What `Working`, `Manual`, `Paused` and `Not working` each mean, and why one listing is stopped.
  </Card>

  <Card title="Pricing on a listing" icon="tag" href="/repricer/listings/pricing">
    Where `Unit Cost` and `Minimum Price` are, and every other number on that tab.
  </Card>

  <Card title="The price floor and ceiling" icon="arrow-down-to-line" href="/repricer/strategies/price-floor">
    Which strategies calculate the floor from your cost, and which ask you for a number.
  </Card>

  <Card title="Reports" icon="chart-bar" href="/repricer/reports">
    The three dropdowns, the date range, and the other five reports.
  </Card>
</Columns>
