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

# Team, roles and permissions

> Your team is everyone who can sign in and work on your organization, and each person has one role for your business and one for each product.

Your team is everyone who can sign in and work on your organization. Adding one person takes an email address and two choices from you: what they can do to your business, and what they can do inside each of your products.

You are probably here for one of three reasons. You are bringing a teammate in for the first time. You want someone to stop being able to do something, usually because they moved to different work. Or you are giving your whole business to someone else and you want that to go smoothly.

You will find all of it at [account.readyforcommerce.com](https://account.readyforcommerce.com), on a screen called `My Account`. In the sidebar down the left, under `Organization`, click `Team`. Everyone in your organization can open that page. What your role changes is how much of it you can act on.

Two separate roles decide what each of your people can touch, and mixing them up is the mistake this page exists to save you from. Your organization role covers the business: your team list, your organization's own settings, and your bill. A product role covers one product, and each person gets one per product. So you can let someone run your entire catalog while they stay just a Member of your organization. And if you make someone an organization Admin without giving them a PIM role, they cannot open your catalog at all.

## Before you start

### What your role lets you do

Whatever your role, you can open `Team`, read your list of members, and click `View roles` above that list to read the permission tables. If your role is Member, that is the whole page for you. You do not get the `Invite member` button, and the actions on each row never appear for you.

To invite someone, change someone's roles or remove someone, you need the organization role Owner or Admin. To give your organization to someone else you need Owner and nothing less. You will find all three role tables in full further down this page.

### Making someone else the owner has no undo

<Warning>
  Making someone else the owner takes one click and a confirmation. You become an Admin in the same moment, and the bill moves to them. Only the new owner can give it back.
</Warning>

## How to invite someone

<Steps>
  <Step title="Open the invite dialog" icon="user-plus">
    Go to `Team` under `Organization` in your `My Account` sidebar, and click `Invite member` above your list of members. A dialog called `Invite team member` opens.
  </Step>

  <Step title="Type their email address" icon="mail">
    Use the `Email address` field at the top of the dialog. Type the address that person already signs in with, or the one they are going to sign up with.
  </Step>

  <Step title="Choose their organization role" icon="building">
    The `Organization role` dropdown under it starts empty and gives you two choices, `Member` and `Admin`. Pick `Member` unless you want that person running your team as well.
  </Step>

  <Step title="Choose a role in each product" icon="grid-3x3">
    Below that you get one dropdown per product your organization has turned on, called `Repricer role` and `PIM role`. Pick a role in each, or leave one alone to give no access there.
  </Step>

  <Step title="Send it" icon="send">
    Click `Send` at the bottom of the dialog. It stays gray until your address is complete and you have picked an organization role.
  </Step>
</Steps>

That is the whole flow. Your dialog stays open and shows you the invitation link. A `Pending Invitations` list appears under your members with that address in it, and the person you invited gets an email with an `Accept invitation` button. They have 7 days to use it.

Everything below explains those pieces one at a time. You do not need any of it to add one person to your team.

## Every option in detail

Your `Team` page is two lists and a red card. The sections below cover the lists first, then each action you can take on a row, then the three role tables, and your limits last.

### Reading the team list

`Team Members` is the list at the top of your page. The number beside that heading is how many people are in your organization, and your own row is marked `(you)`.

Each row shows one person on the left and two lines of roles on the right. The top line is their organization role. The line under it is one badge per product where they have a role, and each badge names the product and the role. If someone has no role in either of your products, you get `No product access` there instead.

Hover a row, or get to it with your keyboard, and those badges fade out while that row's actions fade in. You get `Change roles`, then `Make owner` if you are the owner, then `Remove`.

You never get actions on the owner's row, you never get them on your own row, and you get none of them anywhere if your organization role is Member.

While you are an admin yourself, you can change and remove another admin. The two rows you cannot act on are the owner's and your own.

### Reading the list of invitations

`Pending Invitations` is under your list of members on `Team`, with its own count beside the heading. You only have that card while something is actually waiting. Send one invitation and it appears, cancel your last one and it goes.

Each row is an address you invited and a badge reading `Pending` or `Expired`. Hover or focus the row and you get three actions, `Resend`, `Copy link` and `Cancel`. A Member sees your rows and gets no actions on them.

### Filling in the invite dialog

`Invite member`, above your list of members on `Team`, opens a dialog called `Invite team member`. You get it empty every time.

| Field | What goes in it |
| --- | --- |
| `Email address` | One address. There is no second box, and no way to paste a list |
| `Organization role` | `Member` or `Admin`. `Owner` is not one of the choices |
| `Repricer role` and `PIM role` | `No access` plus that product's own roles. A product your organization has not turned on gets no dropdown at all |

Leaving a product dropdown untouched and picking `No access` in it do the same thing for you. So you never have to answer for a product you do not care about.

Two checks run while you type the address, before you send anything. If that address is already on your team, or already has an invitation waiting, you get the message under the field there and then, and `Send` stays gray. The other two messages, about an empty or an unfinished address, wait until you click away from the field.

`Cancel` at the bottom closes your dialog. If you have typed anything, closing it any way at all asks you first, with `Discard invitation?` and a choice between `Discard` and `Keep editing`.

### Sharing the invitation link yourself

Once your invitation goes, the `Invite team member` dialog does not close on you. Its title changes to `Invitation sent` and your link appears in a read-only box. The `Copy link` button under it puts that link on your clipboard and reads `Copied` for a moment.

That link is the invitation. It opens the same page your invitation email opens. It still only works for the address you invited, so passing it to someone else does not let them in.

**Send the email and forget about it in almost every case.** Copy the link when you are next to the person, or when they tell you nothing arrived. If you have already closed the dialog, hover their row in `Pending Invitations` and click `Copy link` to get your link back.

### Managing an invitation that is still waiting

Hover a row in `Pending Invitations`, under your list of members on `Team`, and you get three actions on it.

| Action | What it does |
| --- | --- |
| `Resend` | Sends the email again and moves the expiry to 7 days from that moment |
| `Copy link` | Puts the invitation link on your clipboard |
| `Cancel` | Withdraws the invitation. The row goes and the link stops working |

You can only resend the same invitation once every 60 seconds. Inside that wait your button is dimmed and reads `Resend in`, with the seconds counting down beside it. Creating the invitation counts as your first send, so one you just made is already inside that minute.

Resending to someone who joined your organization some other way in the meantime does not work, and the message tells you they are already a member. Cancel that row instead.

<AccordionGroup>
  <Accordion title="Resending an invitation that already reads Expired">
    `Resend` works on it. That row is still a waiting invitation, and `Expired` only tells you the 7 days ran out. Resending gives you another 7 days from that moment and sends the email again.

    An expired invitation also drops off your list on its own after a while. Once it is gone you have nothing to resend, so you invite that address again from the start.
  </Accordion>
</AccordionGroup>

### Changing someone's roles

Hover their row in the `Team Members` list on `Team` and click `Change roles`. You get a dialog with their name in the title and the same three dropdowns as your invite dialog, already filled in with what that person has now. Change what you want and click `Save roles`.

Setting a product dropdown to `No access` takes that access away immediately, and setting an empty one to a role gives it immediately.

That person is emailed only when something actually changed. So you can open the dialog and save it untouched without telling anyone.

<AccordionGroup>
  <Accordion title="Why no one can change their own roles">
    Your own row never shows you `Change roles`, and the change is rejected even if you get there another way. Someone else with Owner or Admin has to make it for you.

    The owner's row works the same way, for a stronger reason. The organization role Owner does not move through this dialog at all. It moves only by a transfer, which is a separate action on a different row.
  </Accordion>

  <Accordion title="A role left behind by a product you stopped paying for">
    You get a dropdown for every product your organization has turned on, plus any product where that person still has a role from before.

    So a role left over from a product you canceled stays where you can see it, and you can still set it to `No access`. Without that you would have nothing to remove it with.
  </Accordion>
</AccordionGroup>

### Removing someone from the team

Hover their row in the `Team Members` list on `Team` and click `Remove`. You get a dialog called `Remove member` asking you to confirm, and its own `Remove` button does it.

They lose every product in your organization immediately, and their product roles go with them, so inviting them back later starts you from nothing. They are told by email, and that is one of the emails no one can switch off.

You cannot remove the owner, and neither can anyone else. The only ways out of being the owner are giving the organization to someone else, or deleting it, which [organizations](/organizations) covers.

### Giving the organization to someone else

`Make owner` appears on another person's row in the `Team Members` list on `Team`, and only while you are the owner. Click it and you get a dialog called `Transfer ownership` asking you to confirm.

The moment you confirm, three things change together. That person becomes your Owner, you become an Admin, and your bill moves to them.

Nothing about anyone's product roles changes, on your side or theirs, and you should know that before you click. Give it to someone whose row reads `No product access` and you get an owner who cannot open either product until you give them a role.

This is also your only way out while you are the owner. Transfer first, then leave the way anyone else does.

### Leaving the organization yourself

Scroll to the bottom of `Team`. Under a red heading reading `Danger zone` you get a card called `Leave this organization`, with a `Leave organization` button on its right and a confirmation after that.

You do not get that card at all while you are the owner. [Organizations](/organizations) covers what leaving costs you and what it takes to get back in.

### Where the roles reference is in the app

`View roles` is above your list of members on `Team`, next to `Invite member`, and you can click it whatever your role. It opens a dialog with the same permission tables printed below, laid out side by side.

You always get `Organization` there. You only get a table for the PIM or the Repricer if your organization has that product turned on. Your own column in each table is shaded and labeled `Your role`, which is your quickest read on what you can do yourself.

<AccordionGroup>
  <Accordion title="What that dialog shows you that the tables below do not">
    Its rows are in named groups. Your organization table runs `Team`, then `Organization`, then `Billing`. Your PIM table runs `Catalog`, `Assets`, `Data`, `Integrations`. Your Repricer table runs `Listings`, `Strategies`, `Data`, `Integrations`.

    Each cell is a check mark or a dash instead of a word. The rows are in the same order as the tables below, so a line you find in one is in the same place in the other.
  </Accordion>
</AccordionGroup>

### What each organization role can do

Each role includes everything the role below it can do, so anything an Admin can do you can also do as the Owner.

| | Owner | Admin | Member |
| --- | --- | --- | --- |
| View team members | Yes | Yes | Yes |
| Invite members | Yes | Yes | No |
| Manage member roles | Yes | Yes | No |
| Remove members | Yes | Yes | No |
| View settings | Yes | Yes | Yes |
| Edit settings | Yes | Yes | No |
| Transfer ownership | Yes | No | No |
| Delete organization | Yes | No | No |
| View invoices | Yes | No | No |
| Manage subscription | Yes | No | No |

There is no separate billing role. As an admin you do not even get `Billing` in your `My Account` sidebar, and [plans and billing](/billing) explains what is behind it.

Turning the PIM or the Repricer on for your organization needs Owner or Admin too. Whoever does it becomes an Admin inside that product at the same time. And if you created your organization yourself, you started as its Owner with Admin in both products, so you are never shut out of what you own.

### What each PIM role can do

Admin, then Manager, then Editor. You have no Analyst here.

| | Admin | Manager | Editor |
| --- | --- | --- | --- |
| View catalog | Yes | Yes | Yes |
| Create products | Yes | Yes | Yes |
| Edit products | Yes | Yes | Yes |
| Manage taxonomy | Yes | Yes | Yes |
| Delete products | Yes | Yes | No |
| Bulk edit products | Yes | Yes | No |
| View assets | Yes | Yes | Yes |
| Upload assets | Yes | Yes | Yes |
| Delete assets | Yes | Yes | No |
| Manage data sources | Yes | Yes | No |
| Run imports | Yes | Yes | No |
| Create exports | Yes | Yes | Yes |
| Manage export templates | Yes | Yes | Yes |
| Connect integrations | Yes | No | No |
| Manage integration status | Yes | No | No |
| Rename integrations | Yes | No | No |
| Disconnect integrations | Yes | No | No |

### What each Repricer role can do

Admin, then Manager, then Editor, then Analyst.

| | Admin | Manager | Editor | Analyst |
| --- | --- | --- | --- | --- |
| View listings | Yes | Yes | Yes | Yes |
| Edit price inputs | Yes | Yes | Yes | No |
| Edit competitor URLs | Yes | Yes | Yes | No |
| Pause or resume repricing | Yes | Yes | No | No |
| Assign rules to listings | Yes | Yes | No | No |
| Bulk edit listings | Yes | Yes | No | No |
| Create strategies | Yes | Yes | No | No |
| Edit strategies | Yes | Yes | No | No |
| Delete strategies | Yes | Yes | No | No |
| Set default strategy | Yes | Yes | No | No |
| Run imports | Yes | Yes | No | No |
| Cancel imports | Yes | Yes | No | No |
| Create exports | Yes | Yes | Yes | No |
| Save export templates | Yes | Yes | No | No |
| Connect integrations | Yes | No | No | No |
| Sync integration regions | Yes | No | No | No |
| Manage integration status | Yes | No | No | No |
| Rename integrations | Yes | No | No | No |
| Disconnect integrations | Yes | No | No | No |
| Activate live repricing | Yes | No | No | No |

<Warning>
  `Editor` in the PIM creates and edits products. `Analyst` in the Repricer can only look, and there is no Analyst in the PIM. The lowest role is not the same thing in the two products.
</Warning>

### Choosing which roles to give someone

You set both roles in the same two places: the invite dialog when you add someone, and `Change roles` on their row after that. Two questions get you there. Should this person help you run the business, and how much should they be able to change inside each of your products?

**Give `Admin` in the organization** to someone you want inviting and removing people while you are away, and remember that an admin can remove another admin. Give `Member` to everyone else, which is most of your team, because a Member can still run your whole catalog. Their product role is what decides that.

**Give `Editor` in the PIM** to someone whose work is products. They create, edit and organize your catalog and upload your images, and they cannot delete anything or bring a file in. Give `Manager` to whoever runs your imports, your data sources and your bulk edits.

**Give `Analyst` in the Repricer** to someone who only needs to read your numbers, and `Editor` to whoever sets your prices day to day. Give `Manager` to whoever owns your strategies, since Manager is the lowest role that can create and edit them.

**Give `Admin` in either product only for the connections.** In both products that is the only role that can connect and disconnect an integration. In the Repricer it gives away more than it sounds like, because removing a connected account there permanently deletes its listings and their pricing history.

### Limits

| What | Limit |
| --- | --- |
| How long an invitation lasts | 7 days |
| Wait between resends of one invitation | 60 seconds |
| Invitations waiting for one address in one organization | 1 |
| Owners per organization | 1 |
| Addresses per invitation | 1 |
| Organization roles you can give | 2 |
| Roles in the PIM | 3 |
| Roles in the Repricer | 4 |

### What roles cannot do

| You cannot | Do this instead |
| --- | --- |
| Build a role of your own, or rename one | Pick the closest role in the tables above |
| Give one person a single extra permission | Move them up one role in that product |
| Invite a group of addresses at once | Invite them one address at a time |
| Let anyone with your company's email address join by themselves | Invite each of them |
| Review someone before they join | They are in as soon as they accept |
| Make someone the Owner by inviting them | Invite them, then hand the organization over |
| Change your own roles | Ask an Owner or an Admin to do it |
| See who changed a role and when | The emails below are your only record |

## What the other person sees

Two things about giving someone access will surprise you the first time. Everything they get is decided by you before they accept. And someone you gave no product access to still has an account, and still sees your organization.

### Accepting an invitation

Your invitation email names you and your organization, and its one button is `Accept invitation`. That button opens a page showing your organization's name, `Invited by` with your name, and `Invitation for` with the address you used. Under that is a `Your access` list, with one line for each area: `Organization` and the role, then each product and its role. Nothing has happened yet at that point.

If they are not signed in, they are sent to sign in first and come right back to that page. Signing in with a different address does not let them in, because it has to match the one you invited, and the page tells them so.

Clicking `Accept invitation` puts them in. Their page reads `You're in`, and a couple of seconds later they are looking at your product cards.

### What no access looks like

Someone you gave no role in a product still signs in and is still in your organization. What they get is that product's card on their front page, dimmed, reading `No access` with `Ask an admin for access` under it. Clicking it does nothing for them.

That is also what your brand new owner sees if you hand the organization to someone you never gave a product role.

### What a lower role looks like inside a product

A role does not only block actions. Whole sections disappear from the sidebar, so the page your teammate is looking for is not there for them to find.

In the PIM, `Integrations` is in the sidebar for an Admin only, and `Data Sources` under `Uploads` from Manager up. In the Repricer, `Integrations` is Admin only in the same way. Someone telling you a page is missing is usually one role short.

### The emails your team gets

| When it happens | Who gets it | Can they turn it off |
| --- | --- | --- |
| You invite someone | The address you invited | No |
| Someone accepts an invitation | Every Owner and Admin except the person who accepted | Yes |
| You change someone's roles | The person whose roles changed | Yes |
| You remove someone | The person you removed | No |

Every one of these is email. Neither your account nor either of your products has a bell, a notification center or a list of past alerts.

The two you can turn off are switches on each person's own [profile and preferences](/profile) page. Those switches are on the account, so turning one off turns it off in every organization that person is in.

<Note>
  The invitation email is written in English today, whatever language the person you invited uses. Everything they see after they accept follows their own language setting.
</Note>

## When something goes wrong

### Messages while you are inviting someone

| Message | What to do |
| --- | --- |
| `Enter an email address to invite.` | The field is empty. Type an address |
| `Enter a valid email address.` | The address is incomplete. Finish it |
| `This user is already a member of the organization.` | They are already on your team. Change their roles instead |
| `This email already has a pending invitation.` | One is already waiting for that address. Resend it, or cancel it and start again |
| `Failed to send invitation` | Nothing was sent. Try again |

### Messages on the invitation link

These are what the person you invited sees, not what you see.

| Message | What it means |
| --- | --- |
| `This invitation could not be found.` | The link is wrong, or part of it was cut off on its way to them |
| `This invitation has expired.` | More than 7 days went by. Send them a new one |
| `This invitation has already been accepted.` | They are in already, and can just sign in |
| `This invitation has been cancelled.` | Someone withdrew it |
| `This invitation is invalid or has expired.` | The same, caught at the moment they clicked `Accept invitation` |
| `This invitation was sent to a different email address.` | They are signed in with another address. They sign out, sign in with the invited one, and open your link again |

### Messages when an action fails

| Message | What to do |
| --- | --- |
| `Please wait a moment before resending.` | You are inside the 60-second wait. Your button counts it down for you |
| `Failed to update roles` | Nothing was saved. Try again, and check you are not on your own row |
| `Failed to leave the organization` | You are still in. Try again |
| `Something went wrong. Please try again.` | Reload the page and read your list before trying the same thing again |

### When someone says they cannot do something

Start by figuring out which of their two roles is missing. If they cannot invite anyone or open `Billing`, you are looking at their organization role. If they cannot see a section inside the PIM or the Repricer, you are looking at their product role, and their organization role has nothing to do with it.

Then open `Team` and read the two lines on the right of their row. If the second line reads `No product access`, they have no role in either of your products, and you have your answer.

## Where to go next

<Columns cols={2}>
  <Card title="Plans and billing" icon="credit-card" href="/billing">
    Why the owner is the only person who sees an invoice.
  </Card>

  <Card title="Connect your first store" icon="plug" href="/connect-a-store">
    The one thing that needs Admin in the product you are connecting.
  </Card>

  <Card title="Organizations" icon="building" href="/organizations">
    What the organization owns, and how to leave or delete one.
  </Card>

  <Card title="Profile and preferences" icon="user" href="/profile">
    Which team emails you get, and which two you can switch off.
  </Card>
</Columns>
