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

# Sync issues

> A connection can stop working without anything on screen changing, and this is where Repricer records what broke and what you have to do about it.

Everything in the Repricer goes through a connection to a place you sell. Your listings come in through one, and every price the Repricer calculates goes back through the same one. A sync issue is that connection no longer working.

Nothing about your listings changes when one stops. Every row keeps the price, the stock and the status the last reading left on it, so a week with a broken connection looks a lot like a quiet week.

The Repricer records what broke in two places. It emails the people who can act on it, and it puts a line on the account itself. You read that line by clicking `Integrations` in the left sidebar and opening the account, and this page tells you which problems clear themselves and which ones wait for you.

## Before you start

### What your role lets you do

| Role | What you can do here |
| --- | --- |
| Admin | Get the emails, open `Integrations`, read what stopped a connection, and reconnect one |
| Manager, Editor, Analyst | Watch your listings stop moving. `Integrations` is not in your sidebar and none of these emails is sent to you |

Whoever owns your organization gets the emails as well, whatever their Repricer role. Roles are set in [team, roles and permissions](/team#what-each-repricer-role-can-do).

### A stopped connection does not stop your prices

<Warning>
  Your items keep selling at the price they were last set to. Nothing is taken down and nothing is paused on the channel, so a connection that stopped a week ago is a week of prices nobody managed.
</Warning>

## How to find out what stopped syncing

<Steps>
  <Step title="Rule out your subscription first">
    Look for a banner across the top of the page. A subscription that lapsed stops every connection you have and changes nothing on `Integrations`, so rule it out before you open a single account. [Plans and billing](/billing) covers what each banner is telling you.
  </Step>

  <Step title="Open the Integrations page">
    Click `Integrations` in the left sidebar. You get a grid of cards, one per integration, with a short tag under each logo. `Needs Attention` is the tag that means an account there has stopped.
  </Step>

  <Step title="Open the card and its accounts">
    Click the card. The dialog opens over the page on a short summary, and `Manage accounts` under it opens the list of accounts you have on that integration.
  </Step>

  <Step title="Find the account that is not showing a switch">
    Every row in that list ends in either a switch or a badge. `Reconnect` and `Error` are the two badges, and either one is the account that stopped.
  </Step>

  <Step title="Read the line under the banner">
    Click the row. The account opens with a banner across the top, headed `Reconnection required` or `Account deactivated`, and the line under that heading names what actually happened.
  </Step>
</Steps>

That line is usually the whole answer, and [accounts and regions](/repricer/integrations/accounts) goes through each one and says what it wants from you.

Everything below covers the rest. It says which problems need you and which do not, what each email means, and where every switch can read as normal while nothing syncs.

## Every state in detail

### What can stop a connection

Four separate things can stop one, and they are worth telling apart, because only two of them are yours to fix. Three of them are on `Integrations` in the left sidebar, and the fourth is a banner you get anywhere in the app.

| What broke | Who fixes it | What you see |
| --- | --- | --- |
| The authorization the Repricer has for your account | You, with `Reconnect` | The badge `Reconnect` on the account row |
| Your store or your seller account, on the integration's own side | You, with that integration | The badge `Error`, or a switch that turned itself off |
| The integration's own end, for a while | Nobody | Nothing at all |
| Your Ready for Commerce subscription | Whoever pays your bill | A banner across the top of every page |

The first two stay broken until somebody acts on them. The third is a problem at the integration's own end, and it goes away on its own. The fourth is the one worth checking first, because the connection goes on saying it is fine.

### The problems that clear themselves

**The account row is the test.** Click `Integrations` in the left sidebar, click the card, then `Manage accounts`, and find the row for the account your email named. If it still shows a switch and that switch is on, the connection works and nothing is waiting for you.

What you got the email about was one reading that failed, and the next reading of that account tries again on its own. Two of the emails further down are this kind, `Sync issue with your {channel} account` and `API issue with your {channel} account`. Neither one touches your authorization, neither one switches a region off, and both stop mattering the moment a reading gets through.

Nothing tells you when that happens. There is no all-clear email and no green line anywhere, so what you check instead is the sync time at the end of the line under the account's name. [What Repricer reads](/repricer/integrations/pull) covers how often that time should move.

<Accordion title="Why a Walmart account that lost access can come back without you">
  A Walmart connection uses one set of credentials for every country, so the Repricer cannot ask Walmart which countries you are registered in. It finds out by trying, every 12 hours, and it switches on any country that answers.

  That check is also how a Walmart account recovers. Once every country the Repricer knows about answers again, the banner on the account clears, the account goes back to syncing, and nothing was asked of you. It only clears when every one of them answers, so an account with one country still down keeps its banner.
</Accordion>

### The problems that wait for you

Three things stop a connection until somebody acts, and each one leaves the account looking different. You are reading the same account list as above, from `Manage accounts` inside the card on `Integrations`.

| The account shows | What to do |
| --- | --- |
| The badge `Reconnect` | Authorize the account again with `Reconnect`, in the bottom right of the account dialog |
| The badge `Error` | Nothing brings this one back. Delete the account and connect a new one |
| A switch that turned itself off | Put your store right with the integration first, then turn the switch back on and turn its regions back on under `Available regions` |

Read the line under the banner before you do any of it, because it names the store, the bill or the seller account you have to deal with. The third row is the one that gives you no banner to read.

### The two problems nothing on screen shows you

**A store the integration switched off looks exactly like an account you paused.** Your store can be frozen over an unpaid bill there, or deactivated on their side. Either one switches your account off here, and switches every region under it off with it. You get no badge and no banner. What you get is a switch in the off position, which is what a teammate pausing the account on purpose would leave you.

The email is the only place that difference is written down. So an account that is off and that nobody remembers turning off is worth searching your inbox for.

**A lapsed subscription changes nothing on the connection at all.** Every switch stays on, the card keeps its `Connected` tag, and no account is read. [Integrations](/repricer/integrations) has the four conditions a region has to meet before it syncs.

<Accordion title="Why a card can read Connected while one of your accounts is down">
  The tag under a card is about every account you have on that integration at once, so it can only tell you about the worst of them.

  An account that lost its authorization or failed puts `Needs Attention` on the card, however many healthy accounts are beside it. An account that was switched off does not. If one other account there is still syncing, the card reads `Connected` and the grid shows you nothing about the one that stopped.

  This only comes up where you have more than one account on the same integration. With one account, a switch that is off puts `Paused` on the card.
</Accordion>

### What each email is telling you

Every one of these emails has the same shape. The subject line is the heading, and a word above it says how much the email wants from you. Three rows under the message name the `Account`, the `Integration` and the `Organization` it is about.

| The word above the heading | What it means |
| --- | --- |
| `Action required` | Nothing on that account syncs until somebody acts |
| `Warning` | Something failed and reading carried on |
| `Notice` | A record of a change, with nothing failing behind it |

Here is every subject line you can get, and what each one is asking of you.

| The subject line | What happened | What to do |
| --- | --- | --- |
| `Integration connection needs attention` | The authorization expired, was revoked, or was rejected | Click `Reconnect` on the account |
| `{channel} store frozen` | That integration froze your store over a bill you owe them | Settle it there, then turn the account back on |
| `{channel} store deactivated` | That integration switched your store off | Switch it back on there, then turn the account back on |
| `{channel} store no longer exists` | Your store was deleted or canceled | Delete the account here and connect the store you do have |
| `{channel} account terminated`, or `Walmart account terminated` | That integration closed your seller account | Get the account back with their seller support first |
| `{channel} store unavailable` | The integration would not let the Repricer in and gave no reason | Open your admin panel there and see what it says |
| `Shopify store removed` | Somebody uninstalled your app in Shopify, which removes the account and its listings here | Install your app on the store again, and expect a new account with nothing on it |
| `Walmart API access denied` | Your Walmart credentials are accepted and Walmart still blocks the Repricer | Check you are on production keys, then reconnect with a fresh `Client Secret` |
| `Sync issue with your {channel} account` | One reading of that account failed | Nothing. The next reading tries again |
| `API issue with your {channel} account` | The integration's own end had a problem | Nothing. It usually clears on its own |
| `Price change not confirmed for SKU {sku}` | A price the Repricer sent to Amazon was never confirmed, which [what Repricer writes](/repricer/integrations/push#what-goes-out-with-a-price-change) covers in full | Open that SKU in Seller Central and check what the price is |

**Email is the only way the Repricer tells you.** There is no message center, no bell and no list of problems anywhere in the app. So nothing in front of you says a word about it, however long you leave it. [Integrations](/repricer/integrations) has the switches that turn these emails off, and turning one off leaves you the account screen and nothing else.

<Accordion title="Why an email says to reconnect when the account has no Reconnect button">
  Several of these emails end by telling you to reconnect on the `Integrations` page. On an account whose store was frozen or deactivated there is no `Reconnect` button to press, because your authorization was never the problem and the Repricer still has good credentials.

  What that email is really asking for is two steps. Put the store right with the integration, then come back and turn the account switch on. Your regions were switched off on the way down, so open `Available regions` in the account dialog and turn on the ones you want as well.
</Accordion>

### Limits

| What | Limit |
| --- | --- |
| Emails about one problem on one account | 1 |
| Time before a second email of the same kind can be sent | 5 minutes |
| Problems the banner on an account shows at once | 1 |
| Past problems you can read | None |

### What you cannot do here

| You cannot | Do this instead |
| --- | --- |
| See every problem in one list | Open `Integrations` and read your accounts one at a time |
| Read what went wrong last week | Nothing. Only what is wrong now is kept |
| Ask for a connection to be tried again | Wait for the next reading of that account |
| Find out inside the app that something broke | Read your email, or open `Integrations` and look |
| Turn the emails off for one integration and keep the rest | Nothing. Each switch covers every integration you have |
| Send the emails to somebody who is not on your team | Nothing. They go to the people who can act on them |

## What a stopped connection does to your listings

Nothing is deleted and nothing is undone. Every listing on that account stays exactly as the last reading left it, and every number you typed in yourself is still there and still yours to edit.

| What | While the connection is stopped |
| --- | --- |
| Your listings | Stay where they are. None is removed |
| The price on the channel | Stays at the last one the Repricer sent, and shoppers go on buying at it |
| `Repricing Status` | Reads `Not working` on every listing on that account |
| Your cost, your price limits and your strategy | Untouched, and still editable |
| `Last Synced` | Stops moving |
| New prices | None is calculated and none goes out |

**Every listing on that account goes the same way at once.** Click `Listings` in the left sidebar, hover a `Repricing Status` cell, and the reason reads `Account error`. That is the panel telling you the problem is the account and not that listing. [Listing and repricing status](/repricer/listings/statuses#reading-the-list-of-repricing-issues) has the rest of that panel.

**Reading picks up where it left off.** The first reading after the connection is back brings across everything that changed meanwhile. So there is no catching up for you to do and no gap to fill in yourself, and prices start moving again on the reading after that.

## When something goes wrong

### The account looks fine and nothing is syncing

Work down this list in order, on `Integrations` in the left sidebar. The first row that is true is your answer.

| Check | What it means if it is true |
| --- | --- |
| A banner about your subscription is across the top of the page | Your bill stopped every account you have, and no connection shows it |
| The account switch is off and nobody remembers turning it off | The integration put your store out of action. Your inbox is the only record |
| Region rows are under `Available regions` in the account dialog | Those regions are switched off, so nothing under them is read or priced |
| The time on the account is recent | Your connection is working, so the answer is on the listing itself |

That last row moves the question somewhere else, and [listing and repricing status](/repricer/listings/statuses) is where it goes.

### You fixed it and another email arrived

Reconnecting an account clears every problem the Repricer had open on it. So an email that turns up afterward is about something that happened after your reconnect, and never a repeat of the one you just dealt with.

Read the new subject line rather than assuming. A store that was frozen and is now authorized again can fail the next reading for a completely different reason, and that email looks much like the first one.

### Nobody on your team got an email

Two things stop an email reaching you, and they are worth checking in this order.

Only the `Admin` role and the person who owns your organization are sent these, so a Manager or an Editor is never told. Ask an Admin to look, or ask for the role.

After that, check the switches. They are under `Notifications` in your settings, in the group named `Integrations & Sync`. One of them switched off stops every email in the table above, for you and for nobody else. [Integrations](/repricer/integrations) lists what each switch covers.

## Where to go next

<Columns cols={2}>
  <Card title="Accounts and regions" icon="globe" href="/repricer/integrations/accounts">
    Reconnecting, deleting and renaming an account, and what each line on the banner means.
  </Card>

  <Card title="Integrations" icon="plug" href="/repricer/integrations">
    The four conditions a region has to meet before it syncs, and the notification switches.
  </Card>

  <Card title="What Repricer reads" icon="download" href="/repricer/integrations/pull">
    How often an account is read, and where to find the time it was last read.
  </Card>

  <Card title="Listing and repricing status" icon="signal" href="/repricer/listings/statuses">
    The panel behind `Not working`, and every other reason a listing is not being priced.
  </Card>
</Columns>
