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

# Notifications

> Choose which emails and in-app alerts your pharmacy receives, and pause the non-essential ones without losing receipts or security warnings.

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']} roles="Owner, manager or accountant" />

One master switch and a short list of categories decide how much your pharmacy hears from ClinikEHR. Nothing here can silence a receipt, a password reset or a security warning.

<Path steps={['Sidebar', 'Settings', 'Pharmacy', 'Notifications']} />

<TaskHeader before="Nothing" time="2 minutes" after="A quieter inbox, with the alerts that matter still arriving" />

## What this tab controls

The card is headed **Notification Preferences** — "Choose which in-app and email notifications your clinic receives. Essential emails (receipts, security, and billing alerts) always send."

| Control                       | What it does                                                                                     | Default                          |
| ----------------------------- | ------------------------------------------------------------------------------------------------ | -------------------------------- |
| **Email notifications**       | The master switch. "Master switch for all clinic emails. Turn off to pause non-essential email." | On                               |
| **Customers**                 | "New patient registrations and updates" — new customer records and changes.                      | On                               |
| **Staff**                     | "Staff invitations accepted and role changes"                                                    | On                               |
| **Billing**                   | "Payment received, invoices, and overdue alerts"                                                 | On                               |
| **Subscription**              | "Plan changes, trial expiry, and payment status"                                                 | On                               |
| **Documents**                 | "Document signed, viewed, or expired"                                                            | On                               |
| **System**                    | "System updates and maintenance notices"                                                         | On, and **cannot be turned off** |
| **Achievement emails**        | "Milestone badges, tier-ups, and your clinic's trophy case"                                      | On                               |
| **Daily operational digests** | "Morning owner summaries for inventory, pharmacy, and lab"                                       | On                               |

Each switch saves the moment you flip it — there is no save button. You get "Notifications enabled" or "Notifications muted" with the category named.

<Note>
  The category the pharmacy edition calls **Customers** is the same one a clinic calls Patients — the label follows your edition. **Appointments** and **Insurance** are not offered here at all, because a pharmacy has neither module and a switch for mail that can never be sent would be a false promise.
</Note>

## Set it up

<Steps>
  <Step title="Decide on the master switch first">
    Leave **Email notifications** on unless you want to pause everything non-essential at once. Turning it off gives you "All non-essential clinic emails are paused. Receipts, security, and billing alerts still send."
  </Step>

  <Step title="Turn off the categories you do not want">
    Work down the list and switch off anything nobody reads. Each one saves immediately.
  </Step>

  <Step title="Decide on the two email-only preferences">
    **Achievement emails** are the milestone and badge mail. **Daily operational digests** are the owner's morning roll-up, and that is where unreconciled oversells and expiring stock surface — think before switching it off.
  </Step>
</Steps>

## What changes once you save

| Setting                           | What you'll notice                                                                                                                                                             |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Email notifications** off       | Non-essential pharmacy email stops. In-app notifications carry on as normal — this switch is about email only.                                                                 |
| A category switched off           | Both the email and the in-app notification for that category stop. Nothing is deleted; turning it back on resumes future notices, it does not deliver the missed ones.         |
| **Daily operational digests** off | The morning inventory and pharmacy summary stops arriving. Expiry and unreconciled-oversell items still appear on the inventory **Alerts** tab — you just have to go and look. |
| **System**                        | Never changes. The tab states it plainly: "System notifications cannot be disabled as they contain important updates about your clinic."                                       |

**Transactional email is never affected by anything on this tab.** Sale receipts, password resets, invitation emails, security alerts and billing warnings send regardless of every switch here. If you have turned everything off and still receive mail, that is why — and it is correct.

These preferences belong to the pharmacy, not to you personally. Turning off **Billing** here turns it off for every colleague. Your own account-level email preferences — including marketing email — are on [your account's notification settings](/platform/account/notifications). A customer's own reminder preferences are a third, separate thing, kept on their customer record.

## Check it worked

Reload the tab; every switch should have kept its position. Then cause a notice you left switched on — accept a pending staff invitation, for example — and confirm it arrives, while a category you switched off stays quiet.

## Common issues

<AccordionGroup>
  <Accordion title="I turned everything off and still get email">
    You are receiving transactional mail — receipts, security alerts, billing and password resets. Those are deliberately outside these switches and cannot be turned off here.
  </Accordion>

  <Accordion title="The System switch will not move">
    It is fixed on by design. See the line at the foot of the card.
  </Accordion>

  <Accordion title="There are no Appointments or Insurance switches">
    A pharmacy has neither module, so those categories are not shown. A colleague on the clinical edition sees them; you will not.
  </Accordion>

  <Accordion title="A colleague still gets mail I switched off">
    Check whether it is genuinely one of these categories. Account-level mail follows each person's own settings — see [Your notification settings](/platform/account/notifications).
  </Accordion>

  <Accordion title="A switch flips back after a moment">
    The save failed and the switch rolled back, with an error toast. Check your connection and try again.
  </Accordion>

  <Accordion title="I stopped seeing expiring-stock warnings">
    **Daily operational digests** is off. Turn it back on, or read them on the inventory **Alerts** tab — see [Inventory settings](/pharmacy/settings/inventory).
  </Accordion>
</AccordionGroup>

<StillStuck />
