> ## Documentation Index
> Fetch the complete documentation index at: https://help.clinikehr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sell online with your store

> Open an online store for your pharmacy, link products to your stock, and let listings send people to the right product page.

export const StillStuck = ({topic}) => <div className="ck-callout ck-callout--note" role="note">
    <p className="ck-callout__body">
      <strong>Still stuck{topic ? ` with ${topic}` : ''}?</strong>{' '}
      Check <a href="/platform/help/troubleshooting">Troubleshooting</a> first —
      it covers the failures we see most often. If that does not resolve it,{' '}
      <a href="/platform/help/contact-support">contact support</a> and include
      your workspace name and the time the problem happened, so we can find the
      matching entry in your audit log.
    </p>
  </div>;

export const TaskHeader = ({before, time, after}) => <div className="ck-task">
    {before ? <div className="ck-task__cell">
        <div className="ck-task__title">Before you start</div>
        <p className="ck-task__body">{before}</p>
      </div> : null}

    {time ? <div className="ck-task__cell">
        <div className="ck-task__title">Takes about</div>
        <p className="ck-task__body">{time}</p>
      </div> : null}

    {after ? <div className="ck-task__cell">
        <div className="ck-task__title">When you're done</div>
        <p className="ck-task__body">{after}</p>
      </div> : null}
  </div>;

export const Path = ({steps = []}) => <span className="ck-path">
    {steps.map((s, i) => <span key={i} className="ck-path__step">
        {i > 0 ? <span className="ck-path__sep" aria-hidden="true">
            ›
          </span> : null}
        {s}
      </span>)}
  </span>;

export const Availability = ({editions = ['all'], plans, roles, note}) => {
  const list = editions.includes('all') ? ['clinic', 'pharmacy', 'lims'] : editions;
  return <div className="ck-avail" role="note" aria-label="Feature availability">
      <span className="ck-avail__label">Available in</span>

      {list.map(e => <span key={e} className={`ck-pill ck-pill--${e}`}>
          {EDITION_LABELS[e] || e}
        </span>)}

      {plans ? <span className="ck-avail__label">Plan</span> : null}
      {plans ? <span className="ck-pill ck-pill--plan">{plans}</span> : null}

      {roles ? <span className="ck-avail__label">Who</span> : null}
      {roles ? <span className="ck-pill ck-pill--role">{roles}</span> : null}

      {note ? <span className="ck-avail__note">{note}</span> : null}
    </div>;
};

<Availability editions={['pharmacy']} plans="Starter and above (not the Listing plan)" roles="Owner, manager, pharmacist, storekeeper, cashier and pharmacy technician" note="Needs a connected payment account, and ClinikEHR as your stock record" />

The online store sells what your inventory already holds, at a public address customers can reach without signing in. Stock and cost stay in **Inventory**; the store is the shop window. Owners, managers, pharmacists, storekeepers, cashiers and pharmacy technicians can open it; the setup assistant cannot.

<Path steps={['Sidebar', 'Store']} />

<TaskHeader before="Items in your catalogue and a connected payment account" time="Fifteen minutes for a first product" after="A published store, and product links in your listings" />

## Open it

<Steps>
  <Step title="Connect payments">
    The store can publish products only once your pharmacy can take payment online. The screen tells you what is missing.
  </Step>

  <Step title="Add products from your stock">
    Create a product and link each variant to the inventory item it sells. The link is what lets customers' orders draw from your stock.
  </Step>

  <Step title="Publish">
    Switch the store page on and set the products to **active**.
  </Step>
</Steps>

## Links from listings

When a medicine-finder partner shows your pharmacy, it can also show a link to your store. A product link appears only when:

* your store is switched on and can take payment;
* your pharmacy is not on the Listing plan and keeps its stock in ClinikEHR (see [Stock source](/pharmacy/settings/stock-source));
* the item is listed and not hidden by you, and an active product in your store is linked to that exact item.

If you have connected your own web address to the store, listings use it.

<StillStuck />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.