Skip to content

CPD & training providers

CPD certificates with the hours, the ID, and the dates

Print each learner's CPD hours, a unique certificate ID, and issue and expiry dates on every certificate — issued from a spreadsheet, your LMS, or the REST API.

Built for training providers

The details CPD certificates need, filled in for every learner

Learners need proof they can log. You need records you can trace. Both come from the same data.

CPD hours and points on every certificate

Keep hours, points, or credits in a column and print them with a field like {{cpd_hours}}. Each learner's certificate shows their own number.

A certificate ID for every record

Every certificate gets a sequential ID per workspace and year, or keeps the number from your own records. Learners quote it, you look it up.

Issue and expiry dates

Print the issue date and, for time-limited training, an expiry date — formatted the way your accrediting body expects.

Connected to your LMS through the API

Issue a certificate with one API call when a learner completes, and get signed webhooks when it's issued, sent, failed, or first viewed.

A workspace per program

Keep each course, client, or accreditation in its own workspace, with editor and viewer roles for the people who run it.

Evidence learners can file

Learners download a PDF for their CPD log, and the QR code on it opens the hosted certificate if an auditor wants to check it.

From completion to certificate

Four steps, run by hand or fully automated

  1. 01

    Design the certificate

    Start from a training template and add fields for the learner, course, hours, certificate ID, and dates.

  2. 02

    Choose how learners arrive

    Import a completion export from your LMS, connect a Zap, or call the REST API when a course is completed.

  3. 03

    Issue and email

    CertSeal renders each certificate and emails the learner a link to it, with the PDF one click away.

  4. 04

    Keep your records in sync

    Webhooks report each certificate's ID and status back to your system as it's issued and sent.

Questions about CPD certificates

What training providers ask first

Can the certificate show CPD hours, points, or CE credits?
Yes. Add a column such as cpd_hours to your recipient data, or send it as custom data through the API, and place {{cpd_hours}} on the design.
Does CertSeal connect directly to my LMS?
There are no built-in LMS connectors. Most providers either export completions as CSV or Excel, or connect through the REST API or Zapier.
Can I keep using our existing certificate numbers?
Yes. Pass your number as certificate_id in the import file or API call and CertSeal uses it instead of generating one.
What happens when a certificate's expiry date passes?
CertSeal prints the expiry date you provide on the certificate. It doesn't change or hide the certificate after that date, so state the validity period on the design itself.
Is CertSeal a CPD accreditation body?
No. CertSeal issues and delivers the certificates. Accreditation of your courses still comes from your professional body or accreditation provider.

Issue your next CPD certificates with CertSeal

Free for your first 100 certificates a year — no credit card required.