QSC, Design Audit Log

Updated September 29, 2026

Description

Embedded documentation tool for tracking design interventions. Log who worked on what, when, and why.

The Design Audit Log plugin provides a structured, in-design audit trail for Q-SYS systems. It is intended for integrators and service technicians who need to keep a reliable record of every intervention performed on a deployed system — directly inside the Q-SYS design itself, with no external tools required.

Each log entry captures the date, technician name, service type, and a work summary. The plugin also automatically records the Q-SYS Designer version and the design code active at the time of the intervention. Entries can be locked once completed to protect the historical record from accidental modification.

A built-in mismatch detection mechanism alerts operators when the current running design code differs from the one recorded in the last log entry, making it easy to identify when a design has been updated without a corresponding service note. Mismatch alerts can be pushed as notifications to Microsoft Teams, Slack, or Discord via webhook.

Project-level fields (customer, site, room, and project ID) provide persistent context that travels with the design. Reports can be exported as PDF files directly to Core's file system for archiving or handoff.


Key Features

  • Intervention Logging — Track each service visit with date, technician, and work summary

  • Design Code Capture — Auto-capture Core's design code per entry

  • Auto QDS Version — Automatically log Q-SYS Designer version

  • Entry Locking — Freeze completed entries to protect audit history

  • Mismatch Detection — Alert when current design differs from last logged entry

  • History Navigation — Browse and review all past interventions

  • Export to Core — Export reports to Core's file system

  • Custom Service Types — Define your own intervention categories

Configuration Overview


Plugin version

This document is written for the plugin :

  • Design Audit Log V1.1.0.0

Release note

2026-09 : V 1.1.0.0

  • Compromised status message now states both the last recorded design code and the new design code detected on Core

2026-05 : V 1.0.0.0

  • Initial Release

QDS compatibility

This plugin has been developed and tested on :

  • Q-SYS Designer version 9.13.1 / 10.0.x / 10.1.x / 10.2.0 and 10.2.1


Controls

Controls Page

0b50f715-38d7-45d9-a061-d3fd2f326cb0

Status

Controls name: Status
Type: Indicator-Status
Description: Displays current design code from Core. Shows fault state with "Design Code Mismatch" if Last Service Field design code differs from current code AND status is Completed or Locked

OK - <Design Code>

Compromised - New design pushed to core - Old: <Last Design Code>, New: <Current Design Code>


Global Project Fields

Customer Name

Controls name: ProjectCustomer
Type: Text-Text Edit
Description: The name of the customer or client for this project

Site / Location

Controls name: ProjectSite
Type: Text-Text Edit
Description: Physical address or building name where the system is deployed

Room

Controls name: ProjectRoom
Type: Text-Text Edit
Description: Room name(s) or identifier(s) covered by this design

Project ID

Controls name: ProjectCode
Type: Text-Text Edit
Description: Internal reference ID used for project tracking

🔒 Lock

Controls name: ProjectLock
Type: Button-Toggle
Description: Toggle lock state for global fields — prevents accidental edits once project info is set


Last Service Field (Current Entry)

Service Status

Controls name: CurrentStatus
Type: Text-ComboBox
Choices: Draft / Completed / Locked
Description: Entry lifecycle state — Draft entries are editable, Completed entries are finalized, Locked entries cannot be modified

Caution: Locking an entry is irreversible. Locked entries cannot be modified or deleted.

Service Type

Controls name: CurrentServiceType
Type: Text-ComboBox
Choices: Installation, Commissioning, Upgrade, Maintenance, Support, Troubleshooting, <Custom>
Description: Category of work performed — custom types can be added in Settings

Timestamp

Controls name: CurrentTimestamp
Type: Indicator-Text
Description: Date of the intervention (auto-populated on creation).

Timestamp Update

Controls name: CurrentTimestampUpdate
Type: Button-Trigger
Description: Update Date of the intervention with current date and time.

Design Version

Controls name: CurrentVersion
Type: Text-Text Edit
Description: Version number for this intervention (auto-increments on new entry or set manually). Limited to 50 characters.

Design Code

Controls name: CurrentDesignCode
Type: Indicator-Text
Description: Captured design code from Core at time of entry — updated on every design push when Status is set to Draft — freezes when Status is set to Completed or Locked.

QDS Version

Controls name: CurrentQdsVersion
Type: Indicator-Text
Description: Q-SYS Designer version used for this intervention (e.g., 10.2.0) Auto-fill by the plugin

Integrator

Controls name: CurrentIntegrator
Type: Text-Text Edit
Description: Name of the integration company or team responsible for this work. Limited to 50 characters.

Programmer

Controls name: CurrentProgrammer
Type: Text-Text Edit
Description: Person who programmed or modified the Q-SYS design. Limited to 50 characters.

Technician(s)

Controls name: CurrentTechnician
Type: Text-Text Edit
Description: Field technicians present on-site (comma-separated for multiple). Limited to 50 characters.

Work Summary

Controls name: CurrentSummary
Type: Text-Text Edit
Description: One-line summary of work performed — displayed in History list for quick scanning. Limited to 50 characters.

Work Details

Controls name: CurrentDetails
Type: Text-Text Edit
Description: Detailed observations, issues encountered, follow-up actions, or any additional context. Limited to 2000 characters.

Add Line

Controls name: CurrentDetailsNewLine
Type: Button-Trigger
Description: Adds a new line to the CurrentDetails controls value.


History Page

image

History List

Controls name: List
Type: Text-ListBox
Description: Scrollable list of all entries — shows Timestamp, Status, and Work Summary per row. Click to select and view details bellow

Count

Controls name: Count
Type: Indicator-Text
Description: Display the field service count.

New

Controls name: New
Type: Button-Trigger
Description: Create a new blank entry with current date and Draft status. Only available if previous entry is Completed or Locked.

Caution: Creating a new entry will automatically archive and lock the previous one. Once archived, no further modifications will be possible.

Delete

Controls name: Delete
Type: Button-Trigger
Description: Remove selected entry — only works on Draft entries, Completed or Locked entries cannot be deleted

Export to core

Controls name: SelectedExport
Type: Button-Trigger
Description: Export selected entry PDF report to Q-SYS Core File section.


Selected Service Field (Read-Only)

Displays details of the entry selected in the History List above — read-only view.

Service Status

Controls name: SelectedStatus
Type: Indicator-Text
Description: Entry status (Draft / Completed / Locked)

Design Version

Controls name: SelectedVersion
Type: Indicator-Text
Description: Version number of the selected entry

Design Code

Controls name: SelectedDesignCode
Type: Indicator-Text
Description: Design code captured at time of this entry

Date

Controls name: SelectedTimestamp
Type: Indicator-Text
Description: Timestamp of the intervention

Integrator

Controls name: SelectedIntegrator
Type: Indicator-Text
Description: Company/team responsible

Programmer

Controls name: SelectedProgrammer
Type: Indicator-Text
Description: Design programmer

Technician(s)

Controls name: SelectedTechnician
Type: Indicator-Text
Description: Field technicians on-site

QDS Version

Controls name: SelectedQdsVersion
Type: Indicator-Text
Description: Q-SYS Designer version used

Service Type

Controls name: SelectedServiceType
Type: Indicator-Text
Description: Type of work performed

Work Summary

Controls name: SelectedSummary
Type: Indicator-Text
Description: Brief work description

Work Details

Controls name: SelectedDetails
Type: Indicator-Text
Description: Detailed observations and follow-ups


Event Manager Page

814b0c6a-f4dd-46c3-96c5-ed967e1d8e0d
814b0c6a-f4dd-46c3-96c5-ed967e1d8e0d

Event Log Message

Controls name: EventsLogMessage
Type: Button-Toggle
Description: When enable — write a message to the core’s log on entry creation.

Event Log Error

Controls name: EventsLogError
Type: Button-Toggle
Description: When enable — write an error to the core’s log when current Design Code does not match the last entry code.

Webhook Message

Controls name: EventsWebhookMessage
Type: Button-Toggle
Description: When enable — send a webhook notification on entry creation.

Webhook Error

Controls name: EventsWebhookError
Type: Button-Toggle
Description: When enable — send a webhook notification when current Design Code does not match the last entry code.

Webhook URL

Controls name: EventsWebhookUrl
Type: Text-Text Edit
Description: URL endpoint used to send webhook payloads.

Webhook Format

Controls name: EventsWebhookFormat
Type: Text-ComboBox
Choices: Raw JSON, Discord, Slack, MS Teams
Description: Format of the webhook payload.


Settings Page

814b0c6a-f4dd-46c3-96c5-ed967e1d8e0d

Timestamp format

Controls name: SettingsTimestampFormat
Type: Text-ComboBox
Choices: %Y-%m-%d %H:%M, %y-%m-%d %H:%M, %m-%d-%Y %I:%M %p, %m-%d-%y %I:%M %p
Description: Format string for date display (e.g., %Y-%m-%d %H:%M → 2026-03-24 17:32)

This format is used to display date and time throughout the plugin and in exported reports.

Timestamp format example

Controls name: SettingsTimestampExample
Type:Indicator-Text
Description: Display an example of the selected timestamp format. Updated at launch or on controls event.

Custom Service Type

Controls name: SettingsCustomServiceType
Type: Text-Text Edit
Description: Comma-separated list of user-defined service types added to the existing Service Type dropdown.


Control Pins

Pin Name

Value

String

Position

Pins Available

Status

0-5

(String)

-

Output

EventsLogMessage

0/ 1

false / true

0 / 1

Input / Output

EventsLogError

0/ 1

false / true

0 / 1

Input / Output

EventsWebhookMessage

0/ 1

false / true

0 / 1

Input / Output

EventsWebhookError

0/ 1

false / true

0 / 1

Input / Output

EventsWebhookUrl

-

(String)

-

Input / Output

EventsWebhookFormat

-

(String)

-

Input / Output


Appendix

Report Export

Core Manager Files Section/
└── media/
    └── Reports/
        └── 2026-04-22 13:31_DesignVersion-1.pdf
        └── 2026-04-23 07:00_DesignVersion-2.pdf
        └── 2026-04-24 11:57_DesignVersion-3.pdf

f18bf531-edf8-43cc-96ea-4a5593e5f019.pdf 4 KB

                                                                       support@ad-da.ca | Copyright © 2026 **AD-DA.CA**