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

# Rounding

> Rounding turns the price a strategy calculates into the price a shopper reads, and it only applies when the rounded result still fits your limits.

[A strategy](/repricer/strategies) calculates a price out of other numbers: what a competitor is charging, the cent you undercut them by, the profit you want on top of your cost. What comes out is a number like 14.27. Rounding is what turns that into 13.99 before it goes to the sales channel.

You use it because a price ending in .99, .95 or a whole unit reads as a price somebody chose. Every other setting on a strategy decides what your price should be. This one decides what it looks like, and it happens after all of them.

Rounding only goes down, so the price a shopper reads is always at or under the one your strategy calculated. You set it on the `Rounding` step of the strategy wizard, which you open from `Strategies` in the left sidebar. It starts on `No rounding`, so a strategy nobody has changed publishes the exact price it calculated.

## Before you start

### What your role lets you do

| What you want to do | The lowest role that can |
| --- | --- |
| Read the `Rounding` step on a strategy | `Analyst` |
| Change the ending a strategy rounds to | `Manager` |

Roles are set in [team, roles and permissions](/team#what-each-repricer-role-can-do).

### Saving reprices every listing on the strategy

<Warning>
  Click `Update` and every listing on the strategy is repriced with the new ending. Rounding alone is enough to move a price, so listings that were not going to change get a new one too.
</Warning>

## How to round your prices

<Steps>
  <Step title="Open the strategy">
    Click `Strategies` in the left sidebar, then click the row of the strategy you want. The wizard opens on it.
  </Step>

  <Step title="Go to the Rounding step">
    The steps run across the top of the dialog as a numbered row. Click `Rounding` in that row, or click `Next` at the bottom right until you get there.
  </Step>

  <Step title="Pick an ending">
    Five cards are under the heading `Price rounding`. Click `End in .99`, or whichever of the five you want. `No rounding` is the one already picked.
  </Step>

  <Step title="Type your own step">
    `Custom step` is the only card that needs this. A field called `Round to nearest` appears under the cards, and it takes a number between 0.01 and 0.99.
  </Step>

  <Step title="Read the preview">
    Click `Next` until you get to `Preview`, the last step. The `Target` column is the price each sample listing would get, rounding included.
  </Step>

  <Step title="Save the strategy">
    Click `Update` at the bottom right. On a new strategy the button reads `Create`.
  </Step>
</Steps>

That is the whole flow. Every listing on the strategy is priced with the new ending the next time the Repricer looks at it. You read what came out in the `Price` column of your listings table, under `Listings` in the left sidebar.

Everything below takes the five cards one at a time, then covers what rounding does to your profit and which prices it leaves alone. You do not need any of it to pick an ending.

## Every option in detail

The `Rounding` step asks one question, and one of the five answers opens a field under it.

### Choose an ending for your prices

`Price rounding` is the heading at the top of the step, with five cards under it. Click one and it is picked.

| Card | Your price ends in | A calculated price of 14.27 comes out at |
| --- | --- | --- |
| `No rounding` | Whatever your strategy calculated | 14.27 |
| `End in .99` | .99 | 13.99 |
| `End in .95` | .95 | 13.95 |
| `Whole unit` | .00 | 14.00 |
| `Custom step` | A multiple of the step you type | 14.25, on a step of 0.25 |

**Pick `Custom step` with a small step when the last cent matters.** A step of 0.05 takes at most 0.04 off your price. A step of 0.25 takes at most 0.24.

**Pick `End in .99` or `End in .95` when the ending matters more than the last cent.** Those two are the ones that can take a whole unit off your price.

A line appears under the cards as soon as you pick anything except `No rounding`. It names your pricing mode, and your cost-based floor, your MAP and your MSRP where you have those switched on, with what each one does to a rounded price.

There is nothing you have to fill in here, so `Next` is on when you get to the step. `Custom step` is the exception, and a step outside 0.01 to 0.99 keeps `Next` off until you fix it.

### Set a step of your own

`Custom step` opens one field under the cards, called `Round to nearest`. The number you type is your step, and your price is dropped to the multiple of it below.

A step of 0.25 gives you prices ending in .00, .25, .50 and .75. A step of 0.10 gives you prices ending in .00, .10, .20 and so on.

Your step is in the currency of the region the strategy is on, and it goes from 0.01 to 0.99, so it can never be a whole unit or more. `Whole unit` is the card for that.

Despite the label on the field, your price does not go to the nearest multiple. It goes to the one below, the same as every other card on this step.

<Accordion title="What each card does to a few example prices">
  | Your strategy calculated | `End in .99` | `End in .95` | `Whole unit` | `Custom step` of 0.25 |
  | --- | --- | --- | --- | --- |
  | 14.27 | 13.99 | 13.95 | 14.00 | 14.25 |
  | 19.99 | 18.99 | 19.95 | 19.00 | 19.75 |
  | 25.00 | 24.99 | 24.95 | 25.00 | 25.00 |
  | 9.95 | 8.99 | 8.95 | 9.00 | 9.75 |

  A price under 1.00 has no lower .99 or .95 to go to, so `End in .99` gives you 0.99 and `End in .95` gives you 0.95. That is the one case where rounding raises a price, and a maximum on the listing still caps it. `Whole unit` has nowhere to go under 1.00, so the rounding is thrown away and the exact price goes out.
</Accordion>

### Limits

| What | Limit |
| --- | --- |
| Your own step | 0.01 to 0.99 |

### What rounding cannot do

| You cannot | Do this instead |
| --- | --- |
| Round up, or round to whichever ending is closer | Use `Custom step` with a small step, so what you give up is small |
| Use a step of a whole unit or more | Pick `Whole unit` |
| Give one listing on the strategy an ending of its own | Move that listing to a strategy of its own |
| Round a price you typed yourself | Type the ending you want into `Manual Price`, on the listing's `Pricing` tab |

## What rounding does to your price

### Rounding always goes down

Whatever ending you pick, your price is dropped to the closest number below it that has that ending. A calculated 14.27 with `End in .99` publishes 13.99.

The case worth knowing is a price that already has your ending on it. `End in .99` on a calculated 19.99 publishes 18.99, because the closest .99 below 19.99 is a whole unit down. A strategy that matches a competitor whose prices all end in .99 gives that unit away on every listing.

**The example printed on each card shows you the ending, not the direction.** The ones on `End in .99` and `End in .95` show a price going up. Yours goes the other way.

### What rounding costs you

Rounding lowers your price, so it lowers what you make on the sale. The most it can take is 1.00 on `End in .99` and `End in .95`, 0.99 on `Whole unit`, and a cent under your step on `Custom step`.

On a strategy that builds the price out of your cost, that comes off the profit you asked for, so what you actually make is a little under your target. Pick `No rounding` where the target has to be exact.

### When rounding is thrown away

Your floors and your caps are checked once more after rounding. If the rounded price is under any of your floors, or over any of your caps, the whole rounding is dropped. What goes out instead is the price from the moment before.

Say your floor is 19.00 and your strategy calculated 19.98. `End in .99` would take that to 18.99, which is under your floor, so your listing gets 19.98, odd cents and all. Rounding never breaks a limit, and what you give up when it would is the ending.

Because rounding only goes down, your floor is the limit that does this in practice. See [the price floor and ceiling](/repricer/strategies/price-floor) for where each of your floors and caps comes from.

### Which prices come out unrounded

Rounding is applied to a price a strategy calculated. Some prices are never calculated by a strategy at all, and those go out exactly as they are.

| The price came from | What happened |
| --- | --- |
| A `Manual Price` in the `Selling Price` card of the listing's `Pricing` tab | The strategy does not run on that listing at all |
| `Always price at MAP` or `Always price at MSRP` on `Safety Nets` | Your price is locked to the number on the listing |
| A fallback, because there was no competitor price to read | You get your minimum, your maximum or the price you already had |
| A fallback, because your floor is above the price it would take to compete | You get your minimum, and the `Reason` column on [pricing activity](/repricer/pricing-activity) says so |
| A step up while you are winning the Buy Box | Your price is raised a little at a time to find the top, and none of those raises is rounded |

<Accordion title="How rounding works on Amazon business prices">
  A strategy with business pricing switched on rounds the business price to the same ending as the price a shopper pays, from this one step. There is nothing separate to set.

  The business price has floors and a cap of its own, and it can never be above the price a shopper pays. The rounding is dropped whenever it would break any of those, exactly as it is on the other side. [Business pricing](/repricer/strategies/b2b-pricing) has the step itself.
</Accordion>

## When something goes wrong

### Why your price is not the one you expected

| What you see | Why |
| --- | --- |
| The price is a whole unit lower than you expected | Your calculated price already ended in .99 or .95, so rounding went to the next one below it |
| The price still has odd cents on it | The rounding was thrown away, because it would have broken a floor or a cap |
| A price with no ending on it and no limit anywhere near | It came from a `Manual Price`, a MAP or MSRP lock, or a fallback |
| Prices moved the day you picked an ending and nothing else changed | Rounding on its own is enough to make a price change |
| Your profit is a little under your target | Rounding comes off the price after your target was applied to it |

### What stops you leaving the step

| What you see | What to do |
| --- | --- |
| A message under `Round to nearest` naming the range | Your step is outside 0.01 to 0.99. `Whole unit` is the card for a step of a whole unit |
| `Required` under `Round to nearest` | The field is empty. Type a step, or pick another card |

## Where to go next

<Columns cols={2}>
  <Card title="How a price is decided" icon="route" href="/repricer/how-pricing-works">
    The order every part of a strategy runs in, and where rounding comes in it.
  </Card>

  <Card title="The price floor and ceiling" icon="arrow-down-to-line" href="/repricer/strategies/price-floor">
    The limits that decide whether your rounding is kept or dropped.
  </Card>

  <Card title="The strategy wizard" icon="wand-sparkles" href="/repricer/strategies/wizard">
    Every step around this one, and what changes when you edit a strategy that is already running.
  </Card>

  <Card title="Pricing on a listing" icon="tag" href="/repricer/listings/pricing">
    `Manual Price`, and the fields your rounded price is measured against.
  </Card>
</Columns>
