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

# Data export

> Take a copy of your pharmacy's own data as a CSV or a ZIP, watch a large export run in the background, and download it before the link expires.

export const AuditNote = ({action = 'This action'}) => <div className="ck-callout ck-callout--info" role="note">
    <p className="ck-callout__body">
      {action} is written to your workspace's audit log with your name, the
      record touched and the time — a HIPAA requirement, and one you can review
      yourself under <strong>Audit Log</strong>. See{' '}
      <a href="/platform/security/audit-log">Audit log</a>.
    </p>
  </div>;

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" note="Only owners and managers can export audit logs" />

Your data is yours. This tab hands it back as spreadsheet files you can open, keep, or give to an accountant — one module or twenty, all of it or a date range.

<Path steps={['Sidebar', 'Settings', 'System', 'Data Export']} />

<TaskHeader before="Somewhere secure to keep the file once it downloads" time="Under a minute for a small export; longer for a large one, which runs in the background" after="A CSV or ZIP of the modules you chose, on your own machine" />

## What this tab controls

The card is headed **Data Export** — "Export clinic data as CSV or ZIP. Large exports run in the background — you can navigate away and check back."

| Control                        | What it does                                                                                             | Default                              |
| ------------------------------ | -------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| **Modules**                    | A searchable multi-select, grouped by area. Pick as many as you need; each appears as a removable chip.  | None selected                        |
| **Select all** / **Clear all** | Adds or removes everything at once.                                                                      | —                                    |
| **Date range (optional)**      | Narrows the export. The placeholder reads **All time**.                                                  | All time                             |
| **Export** button              | Reads **Export \{n} modules** once you have chosen. A **ZIP** badge appears when you pick more than one. | Disabled until something is selected |

**There is no format picker.** One module gives you a CSV; more than one gives you a ZIP of CSVs. That is the whole rule.

The module groups a pharmacy will care about most are **Administrative** — which is where **Pharmacy POS Sales**, **Billing Invoices** and **Billing Payments** live — and **Patient Profile**, which holds your customer records. **Audit Logs**, under **Compliance & Audit**, is only offered to owners and managers; everyone else simply does not see it in the list.

## Run an export

<Steps>
  <Step title="Choose your modules">
    Open **Modules** and search, or use **Select all**. Each choice becomes a chip you can remove with its ✕.
  </Step>

  <Step title="Narrow the dates, if you want to">
    Set a **Date range (optional)**. Leaving it as **All time** exports everything, which on a busy pharmacy is a large file.
  </Step>

  <Step title="Select Export">
    The button reads **Export \{n} modules**. It changes to "Queuing…" and the export is handed to a background job.
  </Step>

  <Step title="Let it run">
    A panel appears above the card showing the progress label and a percentage. You can leave this page, keep serving customers, and come back — the export carries on without you.
  </Step>

  <Step title="Download it">
    When the panel turns green and reads **Export ready** it shows the file name and its size, with a **Download** button. Save it somewhere secure.
  </Step>
</Steps>

## What changes once you export

Nothing in your pharmacy changes. Exporting is a read — no record is altered, moved or deleted, and the till carries on as normal while a large export runs.

What does change is your responsibility for the file. Three things to know:

* **The link expires after 24 hours.** The notice on the tab is explicit: "Files contain PHI. Handle securely per HIPAA. Links expire in 24 hours." After that the **Re-download** button disappears from **Recent Exports** and the row is marked "· expired". Run it again if you need it.
* **You are told on this page, not by email.** There is no email or push when it finishes — the panel on this tab updates live, and the last few jobs are listed under **Recent Exports**. Come back and look.
* **The file is unprotected once it leaves.** It is a plain spreadsheet containing customer details on your own machine. Keep it somewhere encrypted, do not email it around, and delete it when you are done.

<AuditNote action="Exporting your pharmacy's data" />

**Export before you close an account.** Once a pharmacy workspace is deleted the data goes with it, and an export afterwards is not possible. See [Delete your account](/platform/account/delete-account) and [Export your data](/platform/security/data-export).

## Check it worked

The panel should turn green with **Export ready** and a file size that is not zero. Open the downloaded file: a single module opens directly as a CSV, several arrive as a ZIP with one CSV per module. Check the row count looks like the period you asked for.

## Common issues

<AccordionGroup>
  <Accordion title="The Export button will not activate">
    Nothing is selected, or a job is already running. Pick at least one module, or wait for the current export to finish.
  </Accordion>

  <Accordion title="Audit Logs is not in the list">
    It is offered to owners and managers only, and hidden from everyone else rather than disabled.
  </Accordion>

  <Accordion title="The export failed">
    The panel turns red with **Export failed** and the reason. Narrow the date range or export fewer modules at a time, then try again.
  </Accordion>

  <Accordion title="My download link does not work any more">
    "Could not generate download link. The file may have expired." Links last 24 hours. Run the export again.
  </Accordion>

  <Accordion title="I closed the tab while it was running">
    The job carried on. Come back to this tab and look under **Recent Exports** — the last few completed jobs are listed with a **Re-download** button while they are still in date.
  </Accordion>

  <Accordion title="I got a ZIP and expected a spreadsheet">
    More than one module always produces a ZIP. Unzip it and you have one CSV per module inside.
  </Accordion>
</AccordionGroup>

<StillStuck />
