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

# Settings

> Each account you connect has its own settings, so two accounts can publish different prices and keep back different amounts of stock from one product.

Each account you connect keeps its own settings. They decide what that one account gets from your catalog: the price it publishes, how much of your stock it shows, and which of your identifiers arrives as its SKU. They also decide what happens to your live listing when you delete the product here.

Most people open them for one of three reasons. They want to publish something other than their master price. They want to keep part of their stock back so they do not oversell. Or they want to stop a delete in the PIM from deleting the listing on the other side. Nothing in here reacts to another seller: your price is built out of your own fields and stops there.

Settings are set on one account and nothing else, so two Shopify stores in the same organization can publish different prices from the same products. You will find all of this under `Integrations` in the left sidebar. Click the card for the integration, then the `Manage accounts` button, then the account itself.

## Before you start

### What your role lets you do

| Role | What you can do here |
| --- | --- |
| Admin | Open an account's settings and save them |
| Manager | Nothing. `Integrations` is not in your sidebar |
| Editor | Nothing. `Integrations` is not in your sidebar |

Anyone who can open these settings can also save them, so there is no read-only view. If a teammate tells you they cannot find `Integrations` at all, their role is the answer, and roles are set in [team, roles and permissions](/team#what-each-pim-role-can-do).

### Deleting a product here deletes it there

<Danger>
  `When a product is deleted` starts on `Delete`. So on an account no one has configured, deleting a product in your catalog deletes the live product on the channel. There is no undo on either side.
</Danger>

If that is not what you want, change that one dropdown before you delete anything. It is in the `Lifecycle` group, and it is explained in full further down.

## How to change an account's settings

<Steps>
  <Step title="Open the account">
    Click `Integrations` in the left sidebar, click the card for the integration you want, then click `Manage accounts`. Click the account you want in the list.
  </Step>

  <Step title="Open the settings panel">
    Click `Settings` in the dialog header, next to `Rename`. The panel lists the groups this integration supports, one under the other.
  </Step>

  <Step title="Change what you need">
    Every control arrives at a default, so you only touch the ones you want to move. `Save`, at the bottom right of the panel, wakes up as soon as something is different.
  </Step>

  <Step title="Save your changes">
    Click `Save`. A second dialog opens on top, called `Re-sync products?`.
  </Step>

  <Step title="Decide when your products pick it up">
    Click `Not now` and each product takes the new settings the next time you edit it. Click `Re-sync now` and everything already on that account goes out again right away.
  </Step>
</Steps>

That is the whole flow. Your settings are stored the moment `Save` succeeds, whichever button you pick in that second dialog.

Everything below covers the five groups one at a time, then shows what they do to the price and the quantity that actually go to the channel. You do not need any of it to change one number.

## Every option in detail

### Which groups you see

The panel shows its groups in a fixed order: `Product page`, `Pricing`, `Inventory`, `Lifecycle`, `Identity`. A group appears only when the integration you are on really honors it, so a control you can see is a control that integration reads. `Product page` comes first on the one integration that has it, because without it that integration publishes nothing at all. Everything under it tunes what gets published.

| Group | What it decides | You see it on an integration that |
| --- | --- | --- |
| `Product page` | where a shopper is sent on your own site | advertises your product without hosting it, which today is Google |
| `Pricing` | the price your integration gets, and the crossed-out price beside it | takes a price, which is all of them. The crossed-out price needs an integration with one of its own: Shopify, BigCommerce and Google |
| `Inventory` | how much of your stock the integration is allowed to show | takes a quantity or an in-stock state |
| `Lifecycle` | what happens on the channel when you delete a product from your catalog | can take a listing down, which is all of them |
| `Identity` | which of your identifiers arrives as the SKU | can be re-keyed. An Amazon seller SKU is the identity of the offer, so it cannot |

Here is every control the panel can show, and the value you find on an account no one has touched:

| Control | Starts as |
| --- | --- |
| `Your domain`, `Subdomain` and `Path` | empty, with the domain filled in from the site you claimed |
| `Price source priority` | `Price` alone, with `MAP` and `MSRP` left out |
| `Never publish below MAP` | off |
| `Price adjustment` | `No adjustment` |
| `Rounding` | `No rounding`, and it appears only once you pick an adjustment |
| `Compare-at price source` | `Compare-at price` |
| `Use MSRP as the compare-at when the price is MAP` | off |
| `Multi-location stock` | on |
| `Safety buffer` | `0` |
| `Maximum published quantity` | empty, which means no limit |
| `When a product is deleted` | `Delete` |
| `SKU field` | `SKU` |
| `Identifiers in the variation name` | `Don't add` |

What gets stored is trimmed to what your integration supports. A value you cannot see is never written, so an Amazon account has no compare-at source and no SKU field at all. The day an integration gains one of them, your account starts from the default in that table. It never starts from something set years earlier by someone who could not see it.

### Set your product page address

An integration that advertises your product without hosting it has to link somewhere, and the PIM is not a storefront. `Product page`, the first group in the settings panel, is where you say where that somewhere is. It is the one setting without which nothing publishes: with no address, every product on the account fails.

What you see in this group depends on whether the integration already knows your website.

If it knows your site, the domain you verified and claimed there is shown in a `Your domain` box you cannot type in. That is deliberate, because a product linking outside the claimed site is what gets a catalog rejected. Two boxes under it are yours. `Subdomain` is empty when your store is at the bare domain, and reads `shop` or `www` when it is not. `Path` is the part of the address that comes before the product name.

If it does not know your site, a line at the top of the group says so and `Your domain` becomes a box you type into. Type the bare domain, with no `https://` in front of it. If the integration learns your claimed site later, a button appears under the box that switches you to the locked domain in one click.

`Preview`, under the boxes, builds the real address against a real product from your catalog and names which one it used. The link opens, which is the point: you see your page load before you save, not after your whole catalog has published.

Three things about those boxes matter before you type in them.

- **Paste a whole product address into either domain box** and it splits itself. `https://mystore.com/products/red-shirt` fills the domain with `mystore.com` and the path with `products`, dropping the last part because the PIM supplies that for each product. A store with no path at all clears the path instead of leaving a stale one behind.
- **The domain is cleaned up when you click away from it.** A scheme, a trailing slash and anything after it come off. A `www.` you typed stays, because it is a genuinely different address.
- **The path takes more than one level.** `shop/products` is kept as you typed it, and leading and trailing slashes are stripped as you go.

When you are typing the whole domain yourself, a domain outside the site you claimed raises a warning under the box naming the claimed one. It never blocks your save, because serving from a subdomain of the claimed site is fine. A real mismatch is the most common way a whole catalog gets rejected at once, so read that warning before you decide to ignore it.

An empty domain does block the save, and a badly formed one is rejected as soon as you finish typing.

### Build the price you publish

The price an integration gets is not read off one field. The PIM builds it in three passes, always in this order: a chain picks a number, an adjustment changes it, and the MAP floor raises it back up. Nothing reorders those passes, and understanding them is most of what this group is.

**Pass one, the chain.** `Price source priority` is at the top of the `Pricing` group. It is a list of three rows, `Price`, `MAP` and `MSRP`, and all three are always on screen. Click a row to include it or leave it out, and drag the handle on its left to change the order. The chain takes the first included row that has a value on that variant and stops there. It never adds two of them together and never averages them. At least one row has to stay included, so the last one stops responding when you click it.

**Pass two, the adjustment.** `Price adjustment` is a dropdown with `No adjustment`, `Percentage` and `Fixed amount` in it. Picking either of the last two shows an `Amount` box beside it. Both take a negative number, which is how you discount, and a percentage runs from `-99.99%` to `1000%`. A full `-100%` is rejected, because it would publish every price on the account at zero.

**Rounding snaps the adjusted price to an ending you pick.** The `Rounding` dropdown appears only once you have picked an adjustment. It gives you `No rounding`, then `.99`, `.95`, `.98` and `.49`, then `.00 (whole number)`, and last `Custom ending`. Picking `Custom ending` shows a two-digit `Ending` box taking anything from `0` to `99`. The snap goes to the nearest price with that ending, up or down.

**Pass three, the floor.** `Never publish below MAP` is a switch. Turn it on and it raises the result back to the variant's MAP whenever the price would fall under it, last, after rounding has already run. A price the floor lifted comes out at the MAP exactly and is never rounded after that. A variant with no MAP has nothing to lift to and passes through untouched.

Here is all three at once, on a variant priced at `24.00` with a MAP of `21.00`. The account keeps the default chain, and you have given it a `-20%` adjustment, `.99` rounding and the MAP floor switched on:

| Pass | Result |
| --- | --- |
| The chain reads `Price`, the only included row | `24.00` |
| The adjustment takes 20 percent off | `19.20` |
| Rounding snaps to the nearest `.99` ending | `18.99` |
| The MAP floor lifts it to the variant's MAP | `21.00` |

`21.00` is what goes out. Had the floor run before the adjustment, your product would have published at `18.99`, under your own MAP. That is why the order is fixed and not yours to set.

The two MAP controls are two different uses of the same field, and turning one on does not turn the other on. Put `MAP` inside `Price source priority` when you want to sell at your MAP whenever every row above it is empty. Turn on `Never publish below MAP` when you want a hard floor, wherever the price came from. Plenty of accounts want both.

<AccordionGroup>
  <Accordion title="What the two number boxes will and will not accept">
    The `Amount` box takes digits, one separator and a leading minus sign. A half-typed value, such as a lone minus sign, is what answers `Enter a valid number`. A fixed amount is capped in both directions. The message names your limit in your organization's currency, so a currency written without decimals shows you a different number from one written with two.

    The `Ending` box takes two digits at most, so the only way to fail it is to leave it empty, which blocks `Save` with `Enter a whole number between 0 and 99`. A single digit is padded when you click away, so `5` becomes `.05` and not `.50`.
  </Accordion>

  <Accordion title="Why a second currency never falls back to your master price">
    The chain works inside one currency at a time. A market or a marketplace whose currency is not your organization's currency sees only the prices you set in that currency. It never falls back to your master price, and [pricing](/pim/catalog/pricing) works through that currency by currency.
  </Accordion>
</AccordionGroup>

### Choose the crossed-out price

A crossed-out price is the higher number a shopper sees struck through next to what they actually pay. `Compare-at price source`, the dropdown at the bottom of the `Pricing` group, decides which of your fields the integration gets as that number.

| `Compare-at price source` | What the integration gets |
| --- | --- |
| `Compare-at price` | the variant's compare-at price, and this is the default |
| `MSRP` | the variant's MSRP |
| `MAP` | the variant's MAP |
| `None` | nothing, and a crossed-out price already on the product is cleared |

Under that dropdown is a switch, `Use MSRP as the compare-at when the price is MAP`. Turn it on and the PIM uses the MSRP instead for the variants whose selling price came out of the `MAP` row. Every other variant stays on the source you picked. Turn the switch on if you sell at your MAP and want your shoppers to see the contrast against your MSRP instead. The swap beats the source, `None` included, and a variant with no MSRP under the swap gets nothing at all.

<Note>
  One rule here cannot be switched off. The crossed-out price is sent only when it is strictly above what the shopper pays. Equal or below, it is cleared instead, because that is not a discount.
</Note>

Your adjustment never touches the crossed-out price. It is a reference price and not a selling price, so a `-20%` adjustment moves what the shopper pays and leaves the struck-through number where it was.

### Keep stock back and cap what you show

Two boxes under `Inventory` decide how much of your stock an integration may show. `Safety buffer` is a number of units you keep back so you do not oversell. `Maximum published quantity` is a limit on the number itself, which helps when a large stock number invites an order you cannot fill in time. Both boxes take digits and nothing else, so a minus sign and a decimal point simply do not go in.

**The maximum is applied first and the buffer second.** On an account with a maximum of `50` and a buffer of `5`, a variant with 500 units publishes `45`. The result never drops under zero, so a buffer bigger than your capped quantity publishes `0` and never a negative number. That order is what makes your buffer always count: reversed, a maximum smaller than your stock would swallow it.

**Whether the maximum is a hard limit depends on your integration**, and the line under the box changes to match. On an integration that publishes the whole quantity of a listing, no one ever sees more than your number. On an integration that also sells stock of its own, your maximum covers your part alone, so the total on the page can be higher than it.

On an integration of the second kind the PIM writes into two locations it creates in your store, `Supplier Stock` and `On-hand Stock`, and never into yours. The maximum and the buffer apply to those two added together, and the reduction comes off the supplier location first, so your physical on-hand number is the last thing touched.

`Multi-location stock` is a switch that picks between those two shapes, and you see it on BigCommerce. A BigCommerce storefront shows stock from your default location alone until BigCommerce support turns on aggregated stock for your store, which no setting anywhere can check for you. Leave the switch on once that has been done, which is what leaving it on tells the PIM. Turn it off and the PIM writes one combined total to your default location instead, overwriting whatever stock you entered there, and removes the two locations it made.

Amazon keeps one quantity per offer, so your maximum there is absolute. That quantity goes out only on offers you fulfill yourself. On FBA the PIM sends no quantity, Amazon owns the number, and neither box has anything to act on, for the reason [inventory](/pim/catalog/inventory) gives.

### Decide what happens when you delete a product

`When a product is deleted` is a dropdown under `Lifecycle`. It decides what your integration does to the live listing when you delete the PIM product.

| Option | On the channel | In the PIM |
| --- | --- | --- |
| `Delete` | the product is deleted, or on Amazon your offer is removed | the link between the two is dropped |
| `Archive` | the product's status becomes archived, so it stays in your store, hidden | a hidden marker is left behind, so the same listing can be picked back up |
| `Keep` | your product stays live and sellable | a hidden marker is left behind, so the same listing can be picked back up |

There is no undo on either side, nothing in the PIM restores what your integration dropped, and creating the product again later leaves nothing on the channel to pick up. So if `Delete` is not what you want on an account, move this dropdown before you delete anything.

**The dropdown gives you only the options that integration really runs.** An Amazon offer has no archived state, so `Archive` is simply absent there. You are never given a mode that turns into a delete without saying so. Google has no archived state either, and picking `Keep` there raises a line under the dropdown. It tells you the integration stops showing your product now and drops it entirely within 30 days, because a feed integration drops anything nothing refreshes.

This setting is read in two more places, and knowing that is what stops it catching you out. The delete confirmation in your catalog groups every account the product is live on under the verb that account will run: deleted, archived or kept. And switching a product's `Sync` switch off for one account takes its listing down the same way, so a dialog opens asking which of these same options to run there. It arrives with your setting already selected, which makes this dropdown the default for that decision rather than the answer to it, and [products](/pim/catalog/products) covers the switch.

<Accordion title="What takes a released listing back under management">
  `Archive` and `Keep` leave a hidden marker behind, and it looks exactly like something that failed to clean up. It is what lets the PIM pick that same listing back up instead of creating a second one. Turn the product's `Sync` switch back on for that account and you take over the listing already there.

  One limit matters here. Deleting a single variant does not take its Amazon offer down. The link goes and the offer can stay live.
</Accordion>

### Choose which identifier the integration gets

`SKU field` is a dropdown under `Identity` that decides which of your identifiers goes to the integration as its SKU. It gives you `SKU`, `Part Number` and `Barcode`, and `SKU`, meaning the variant's master SKU, is the default.

Two things follow from moving it, and the line under the dropdown says both. A duplicated value gets your brand added in front of it for you. And a product with no value in the field you picked is not published at all. There is no fallback to the master SKU. Re-key an account to `Part Number` and every variant without one drops out of that integration until you fill it in, with a message per variant telling you which. You will find the three fields covered one by one in [identifiers](/pim/catalog/identifiers).

One save is blocked outright here. On an account paired with the Repricer, moving `SKU field` away from `SKU` tells you the account is managed by the Repricer and asks you to disconnect that first. The Repricer matches your listings on the master SKU, so an integration sending part numbers would match nothing.

`Identifiers in the variation name` is the other dropdown in this group, and you see it on Square, which never prints a SKU on a receipt. It takes `Don't add`, `SKU`, `Part Number` or `SKU and Part Number`, and it adds what you pick to the variation name, where a receipt can show it. A product with no options is left alone. The block above does not apply to this dropdown, because it only changes a name and never the SKU your integration matches on.

### Re-sync after you save

A second dialog opens the moment your save succeeds, called `Re-sync products?`. Its two buttons are `Re-sync now` and `Not now`, and the choice is only about timing.

`Not now` is the safe one. Your new settings apply to each product the next time you edit that product, so a catalog you are working in catches up on its own.

<Warning>
  `Re-sync now` queues every product already on that account at once, so the prices, quantities and SKUs your new settings derive all go out together. An adjustment you have not checked goes to your live storefront on this button.
</Warning>

**It queues what is already there, and nothing else.** A product that has never gone to the account is left out. So is one on its way off the integration, so nothing you are removing gets put back, and so is one whose `Sync` switch is off for that account. The number you get back is a count of the products actually queued. On an account that is not connected the whole thing is rejected, so nothing is ever queued without you knowing.

**That re-sync sends, and it does not read.** Your values go out and nothing comes back in, and saving your settings does not read anything either. Nothing you can click in this panel asks an integration for its data.

### Limits

| What | Limit |
| --- | --- |
| A percentage adjustment | `-99.99%` to `1000%` |
| A fixed adjustment | capped in your organization's currency |
| A custom rounding ending | `0` to `99` |
| Rows you can leave out of `Price source priority` | 2 |
| `Safety buffer` and `Maximum published quantity` | whole numbers of 0 or more |

### What these settings cannot do

| You cannot | Do this instead |
| --- | --- |
| Move a price on its own in answer to another seller | Set up [Repricer](/repricer/index), which is the product that does that |
| Copy one account's settings onto another | Open your second account and set them again |
| Turn one group off for a single product | Use that product's `Sync` switch for the account |
| Take back what your integration did to a listing | Pick `Archive` or `Keep` before you delete the product |
| See what your whole catalog would publish before it goes out | Change one product, let it go out, and read it on the channel |

## What actually gets to the channel

### What happens when no price can be found

Your chain can come up empty. When no included row has a value on a variant, there is no price to publish, and what happens next is not the same everywhere.

| Integration | What an unpriced variant does |
| --- | --- |
| Shopify and BigCommerce, on a product already there | the price already live is left alone, the rest of the product still syncs, and the account badge turns orange with `Needs attention` |
| Shopify and BigCommerce, on a product being created | the push is blocked before anything is created, so nothing appears in your store at `0.00` |
| Amazon | the offer fails before any call is made, on the badge only |
| Square | your variation is published with no price |
| Google | your offer is kept back, and so is one that comes out at zero, since Google rejects it |

Every one of them leaves you the same message on the product, with your integration's name in it: `No price is available for Amazon (none of the configured price sources has a value).`

That message only appears on an account whose pricing is no longer the plain default, so an untouched account stays quiet here.

A zero is a value and not an absence. A variant priced at zero runs through the chain like any other number, and Amazon publishes a zero offer where Google rejects one.

### What an integration is told about a variant you do not track

A variant with `Track Inventory` switched off is outside both inventory boxes, and your buffer and your maximum never touch it. What the integration is told is not the same on each one.

| Integration | What it is told |
| --- | --- |
| Shopify | your quantity is cleared |
| Square | zero |
| Amazon, on an offer you fulfill yourself | zero, which reads as out of stock |
| BigCommerce | tracking off, when no variant on the product is tracked. Zero for one untracked variant next to tracked ones |
| Google | the product is in stock |

Untracked means the PIM does not manage that stock, and not that you have none of it.

### Who sets the price on a paired account

On an account paired with the Repricer, the Repricer owns the channel price and the PIM stops writing it, which [the Repricer connection](/pim/integrations/repricer) covers from the other side.

## When something goes wrong

### Messages you might see

| Message | What to do |
| --- | --- |
| `Enter a valid number` | Finish the amount. A lone minus sign is not a number |
| `Enter a whole number between 0 and 99` | Fill the `Ending` box, or pick one of the preset endings instead |
| `Must be a whole number of 0 or more` | Take the decimal point or the minus sign out of the stock box |
| `Enter the website your product pages live on` | Fill `Your domain`. Nothing publishes on this integration without it |
| `Enter a domain like mystore.com` | Drop the `https://` and everything after the domain |
| `Enter a valid subdomain, like www or shop` | Use letters, digits and hyphens only |
| `This domain doesn't match the site claimed in Merchant Center ({claimed}). Google rejects products that link outside the claimed site.` | Check the domain against the claimed one. This is a warning and your save goes through |
| `This account is managed by the Repricer, which matches listings by SKU. Disconnect the Repricer integration before changing the SKU field.` | Leave `SKU field` on `SKU`, or unpair the account first |
| `This account is not connected.` | Reconnect your account, then re-sync |
| `Failed to save settings.` | Try again. Nothing was stored |
| `Failed to start re-sync.` | Try again. Your settings are saved either way |

### When the settings will not open

Settings saved by a newer version of the app do not open. The panel shows you `These settings were saved by a newer version of the app. Refresh the page to edit them.` over a retry button, with no fields behind it, so nothing you cannot read can be overwritten.

### Leaving without saving

`Save`, at the bottom right of the settings panel, stays gray until every box has a value it accepts and something has changed. One thing counts as a change without you typing: a domain the panel filled in for you is treated as ready to save, so accepting it takes one click.

Leaving with unsaved changes raises `Discard changes?` first, whether you click `Back`, close the dialog, press Escape or click outside it. `Back` returns you to the account rather than closing the dialog.

## Where to go next

<Columns cols={2}>
  <Card title="Integrations" icon="plug" href="/pim/integrations">
    Where an account is connected, and what an account, a destination and a location each mean.
  </Card>

  <Card title="Pricing" icon="tag" href="/pim/catalog/pricing">
    The fields your chain reads, and how you set a price per currency.
  </Card>

  <Card title="Inventory" icon="warehouse" href="/pim/catalog/inventory">
    The stock your buffer and your maximum are applied to, and the two PIM locations.
  </Card>

  <Card title="Identifiers" icon="barcode" href="/pim/catalog/identifiers">
    SKU, part number and barcode, and what makes one of them unusable as a key.
  </Card>
</Columns>
