Training matrix template for construction: free Excel, CSCS and IPAF expiry reminders, and an automation you can copy featured image
Templates & Resources

Training matrix template for construction: free Excel, CSCS and IPAF expiry reminders, and an automation you can copy

TrainAR Team 1 month ago 5 min read

Training matrix template for construction: free Excel, CSCS and IPAF expiry reminders, and an automation you can copy

Category: Templates & Resources • Niche: Compliance templates, light automations

Laptop with construction training matrix showing CSCS, PASMA and IPAF expiry dates

Who this is for

This guide is for small to mid sized UK contractors, subcontractors and maintenance firms who need to keep on top of cards and tickets without buying new software.

Use it if you manage CSCS, IPAF, PASMA, First Aid, Asbestos Awareness, Manual Handling, Street Works, and induction dates for a crew.

What a training matrix is

A training matrix is a simple table that lists workers down the left and required training across the top. You track three things for each item:

  • Evidence on file yes or no
  • Expiry date
  • Status in date, due soon, expired

Good primers from industry:

Download the free template

We provide two starter formats so you can pick what your team prefers.

  • Excel workbook .xlsx with conditional formatting and a Reminders sheet
  • Google Sheet with the same layout ready to use

Columns included by default: Name, Role, CSCS number, CSCS expiry, IPAF expiry, PASMA expiry, First Aid expiry, Asbestos Awareness expiry, Manual Handling expiry, Notes, Evidence link.

Tip: Add columns for trade specific cards like ECS for electricians or EUSR for utilities as needed.

How to set it up

  1. List every worker one per row. Include subcontractors you send to site.
  2. Enter each expiry date. If you do not know it, leave blank for now and chase evidence.
  3. Use this simple colour key already built in:
    • Green in date more than 60 days left
    • Amber due in 60 days
    • Red expired
  4. Add links to evidence files certificates, ePAL cards, CSCS screenshots in the Evidence link column.
  5. Freeze the top row and left column so you can scroll easily on a phone.

Optional extra columns

  • Driving licence expiry
  • Face fit test expiry
  • DBS check expiry
  • In house training toolbox talks last done

Add email reminders

You can get reminder emails from plain Excel or Google Sheets with very light tooling.

Option A Google Sheets plus Google Apps Script free

Goal: Email the manager weekly with anyone due in 60 or 30 days, and anyone expired.

Steps:

  1. Open the Google Sheet and go to Extensions, Apps Script.
  2. Paste this script, change the sheet name if needed.
function sendExpirySummary() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Matrix');
  const data = sh.getDataRange().getValues();
  const today = new Date();
  const soon60 = 60, soon30 = 30; 
  const headers = data[0];
  const dateCols = headers.map((h,i)=>/expiry/i.test(h)? i : null).filter(i=>i!==null);
  let due60=[], due30=[], expired=[];
  for (let r=1; r<data.length; r++){
    for (let c of dateCols){
      const name = data[r][headers.indexOf('Name')];
      const label = headers[c];
      const val = data[r][c];
      if (!(val instanceof Date)) continue;
      const diff = Math.ceil((val - today)/86400000);
      if (diff <= 0) expired.push(`${name} - ${label} expired on ${val.toDateString()}`);
      else if (diff <= soon30) due30.push(`${name} - ${label} due in ${diff} days`);
      else if (diff <= soon60) due60.push(`${name} - ${label} due in ${diff} days`);
    }
  }
  const body = `Training matrix summary\n\nExpired:\n${expired.join('\n') || 'None'}\n\nDue in 30 days:\n${due30.join('\n') || 'None'}\n\nDue in 60 days:\n${due60.join('\n') || 'None')}`;
  MailApp.sendEmail({to: 'manager@yourcompany.co.uk', subject: 'Training matrix weekly summary', body});
}

function scheduleWeekly(){
  ScriptApp.newTrigger('sendExpirySummary').timeBased().everyWeeks(1).onWeekDay(ScriptApp.WeekDay.MONDAY).atHour(7).create();
}
  1. Click Run then Authorise. Run scheduleWeekly once to set the Monday 7am email.

Option B Excel on Microsoft 365 plus Power Automate

Goal: Send a daily digest email and create a Planner task for anything expiring inside 30 days.

Steps overview:

  • Store the workbook on OneDrive or SharePoint.
  • In Power Automate, build a flow Scheduled cloud flow daily at 7am.
  • Use the List rows present in a table Excel action point it at your Matrix table.
  • Add two Conditions date difference between today and each expiry column less than or equal to 30 and greater than 0.
  • If true, use Create a task in Planner assign to your admin with due date equal to the expiry date.
  • Also append to a Compose block for the email body and send an Outlook Email V2.

Microsoft has step by steps for these blocks: https://learn.microsoft.com/power-automate/

Optional: WhatsApp alerts

If your team lives in WhatsApp, you can push alerts into a group using Make.com or Zapier with WhatsApp Business.

  • Trigger Google Sheets new row in a view of due soon items, or Power Automate HTTP webhook.
  • Action WhatsApp Business Cloud API send message to your supervisors group with name, card type, and expiry date.
  • Include the Evidence link so they can check the certificate on their phone.

Keep evidence tidy

Keep a single cloud folder per person. Inside, store PDFs of cards and certificates and screenshots from apps like CSCS Smart Check and IPAF ePAL.

Name files like 2025-02-12_IPAF_John_Smith.pdf so searching is easy.

Simple folder structure

  • Training Records
    • Smith John
      • CSCS 2028-03-01.pdf
      • IPAF 2025-02-12.pdf
    • Ali Mariam
      • First Aid 2026-11-10.pdf

Quick diagram: how the reminders flow works

[Expiry dates in Matrix] -> [Weekly Script or Flow] -> [Email or WhatsApp Group] -> [Planner task optional]

Helpful references and further reading

FAQ

Want to slash training times and increase revenue per Engineer? Join our Waitlist: https://trainar.ai/waitlist