Skip to content
Repeat Desk

For UK clinics running repeat medication by hand

Repeat prescriptions that take the payment and place the order themselves.

For UK private clinics treating patients on long-term medication. Runs on your Stripe account and your pharmacy account — you keep the patient, the prescribing and the money.

No per-transaction fee. No Stripe Connect. Fixed annual cost.

PatientCycleTreatmentNext chargeStatus
Oliver Bennett7TRT quarterly14 NovScheduled
Hannah Clarke3Weight management monthly15 NovScheduled
James Whitfield12ED monthly15 NovCard declined, retry 2
Sophie Allerton2TRT quarterly16 NovScheduled
Daniel Price5Weight management monthly17 NovAwaiting authorisation
Megan Doyle9ED monthly18 NovScheduled
Thomas Harding4TRT quarterly19 NovScheduled
Eleanor Shaw1Weight management monthly20 NovScheduled
Illustration of the interface. Names are fictional.

01

The monthly loop, done by hand

What someone does, every month, for every patient

  1. 01Work out who is due, from a spreadsheet.
  2. 02Take each card payment by hand, one patient at a time.
  3. 03Re-key each order into the pharmacy’s portal.
  4. 04Check that none of it went wrong.

What it costs you

  1. 01A patient runs out, because their order went in a week late.
  2. 02A charge is missed and nobody notices until the month closes.
  3. 03Nobody can answer “why was this patient not charged in September?”
  4. 04Taking on another two hundred patients means hiring another person.

It scales by hiring. That is the problem.

02

What happens every night

  1. Step 01

    A prescription becomes a plan.

    Upload the signed PDF or write it in the app. Set what ships and how often — monthly tablets, a quarterly injection, consumables in the same box.

  2. Step 02

    A clinician authorises the cycle.

    Before any card is touched. No approved prescription, no charge.

  3. Step 03

    The card is charged on your Stripe account.

    Directly, patient to clinic. Failed payments are retried on a schedule and then escalated to you — not silently dropped.

  4. Step 04

    The order goes to your pharmacy account.

    Under your name, with the prescription attached, with the dispensing directions you set.

You watch a worklist and intervene when something stops.

03

What it is worth, in your numbers

Your clinic

£

Assumptions — change them

£
Cycle length

Monthly recurring revenue on the schedule

£13,000

200 patients × £65

Admin time the manual loop costs

16.7 hours / month

£300 a month at your hourly cost

One missed charge a month is

£780 a year

and a patient who runs out

If your cycle is 28 days rather than a month

£13,464 a year

13.04 cycles a year against 12, across 200 patients. You have chosen a month. It is a difference in what patients pay over a year — one to decide deliberately with them, not by default.

The fee at this volume

£3,600 a year

2.3% of your annual recurring revenue (£156,000)

Your numbers, our arithmetic. We are not claiming an industry average.

04

What you do instead

What a month looks like

  1. 01Open one screen, which lists only what needs a decision.
  2. 02Sign off the prescriptions a clinician needs to approve.
  3. 03Deal with the two or three patients whose card failed.
  4. 04Everything else already happened at six this morning.

The job changes from running the loop to handling the exceptions.

05

We are not in your payment path

Who the patient pays
Typical platformthe platform, which pays youRepeat Deskyou, directly
Stripe account
Typical platformtheirsRepeat Deskyours
Pharmacy account
Typical platformtheirsRepeat Deskyours
Cost per transaction
Typical platforma percentageRepeat Desknone
What we charge
Typical platform—Repeat Deska fixed annual fee, invoiced by bank transfer

Your Stripe account. You give us a restricted API key, scoped to payments, customers and payment methods. We authenticate as you. There is no platform account in the path and no application fee — not as a policy, but because there is nowhere in the system for one to go.

Your pharmacy account. The order is placed on your own account, so the pharmacy bills and ships under your name, and your commercial terms with them are unchanged.

Your patients. They are your patients. Nothing in the product markets to them, and there is no consumer-facing brand for them to notice.

06

Where the manual loop actually breaks

  • 28 days is not a month, and the software makes you say which you meant.

    Every 28 days is 13.04 cycles a year. Every month is 12. At £65 that is £67.60 a patient a year — and if the pack is 28 days but the delivery is monthly, the patient runs two or three days short every cycle, which compounds to about a month of missed medication a year. Both schedules are stored separately, as a count and a unit, so the distinction cannot be flattened into “roughly monthly”. A mismatch is wrong in both directions: a 28-day pack delivered monthly leaves the patient short, and a month’s supply billed every 28 days over-charges them.

  • A quarter’s supply, billed monthly.

    One delivery funded by three payments is one number in a plan, not a special case. The box ships on the schedule you choose, not whenever a payment lands.

  • Authorisation before money.

    A cycle with no approved prescription is held, and the worklist says so. Charging for medicine a clinician might still decline means refunding it.

  • Failed payments, chased properly.

    A declined card is classified: some declines can be retried and some can never succeed, and the patient is only chased when being chased would help. Then it pauses rather than compounding.

  • A product withdrawn by the pharmacy.

    Catalogue changes are shown to you before they are applied, and a product that stops being listed stops being sellable — rather than being charged for until it fails at dispatch.

07

Onboarding is a checklist, and it is honest

  1. 01Connect your pharmacy account
  2. 02Sync the catalogue
  3. 03Choose which products you sell
  4. 04Write the dispensing directionsWritten by you
  5. 05Finish product details
  6. 06Add a prescribing clinician
  7. 07Add your Stripe credentials

Only the directions need writing from scratch — the pharmacy requires them on every prescription and no catalogue supplies them. Everything else is a connection or a confirmation.

Nothing can be charged until all of it is done. No patient gets billed by a half-configured clinic.

Most clinics are live within a week. How long it takes depends partly on you — getting API credentials from your pharmacy, creating a restricted Stripe key, and writing the directions.

08

Where patient data lives

  • Hosted in the UK. Patient data is stored and processed on UK infrastructure in London, dedicated to this product, and is not replicated outside the UK.
  • Separated per clinic, in the application itself. Every query is scoped to one clinic; there is no view anywhere in the product that spans clinics.
  • Encrypted in transit and at rest. Administrative access is limited to one named person.
  • Every change is recorded, including bulk ones, as append-only history captured by the database rather than by code that has to remember.
  • Operational logs keep clinical detail, because a failed dispatch cannot be investigated without it — so they are never sent to any third-party monitoring or error-reporting service.
  • You are the data controller. We process on your behalf under a data processing agreement. The DPA, the sub-processor list and a security summary are available on request.

09

Built to refuse rather than guess

This system moves money and medicine on a schedule, at six in the morning, with nobody watching. So it is built on the assumption that something will eventually be missing or wrong — and that stopping is better than continuing.

  • An incomplete prescription is never sent. Every field the pharmacy requires is either present or the dispatch stops and names what is missing and who can supply it. There are no placeholder values anywhere in the system — a plausible wrong value is a dispensing record that lies.
  • Quantities are never inferred from a product name. They come from the pharmacy’s own pack data, and a quantity that cannot be converted exactly into whole packs is refused rather than rounded.
  • A payment cannot be taken twice. Every attempt carries a key derived from the payment it belongs to, so a retry after a timeout is the same charge rather than a second one.
  • Money and dispatch cannot break each other. They are separate runs by design: a card problem cannot stop an order that is already paid for, and a pharmacy problem cannot stop a payment being collected.
  • Every change is recorded, including bulk ones. The audit trail is captured by the database itself rather than by application code that has to remember — which is the difference between a trail and a trail with gaps.

Each of those is held in place by an automated test that fails if it stops being true. A number of them exist because an earlier generation of this kind of system got it wrong in production.

A technical summary for your IT or information-governance reviewer is available on request.

10

A fixed annual fee

Patients on repeat medicationPer year
up to 100£1,800
101 – 400£3,600
401 – 1,000£6,000
over 1,000talk to us
  • No per-transaction fee. No percentage of revenue. Ever.
  • No per-seat charge — add as many staff as you like.
  • No charge for patients who pause or cancel.
  • Stripe’s own processing fees go from you to Stripe, exactly as they do today. We never touch them, so we cannot mark them up.
  • Quarterly invoicing on request.
  • Prices are final. No VAT is charged.

A percentage gets more expensive every time you grow. This does not.

Founding clinics

50% off the first year, held for a second year, for the first five clinics, in exchange for a reference and detailed feedback.

11

FAQ

12

See it running on your own numbers

A 20-minute call, screen shared, using the plans and cadences you actually sell. No slide deck. Tell us roughly how many patients you have on repeat medication and we will come to the call with that already set up.

Tell us about your clinicgabriel@repeatdesk.co.uk

13

Who builds this

I’m Gabriel Gamil — twenty years building web software, the last five of them in healthcare: a repeat-prescription and billing platform for a UK private clinic, the laboratory system behind New York City’s school Covid testing programme, and a personal health record system for a European provider. All three were Django, like this one, and all three handled patient data under rules that do not forgive guesswork.

The UK one is why this product exists. I watched a monthly billing-and-dispatch loop fail in the ways these things actually fail — and built this so that they cannot. I answer every email on this page myself.