BOS Enterprise has two tracking features installed: Changelogs and Audits.
Changelogs record Create-Read-Update-Delete (CRUD) changes made to selected tables and fields in the database.
The changelog is updated every minute on a fixed schedule. Changes are merged if they happen within 60 - 120 seconds of the previous record being changed.
If a user makes multiple changes within that period, only the final change is recorded.
If a user changes a record and then changes it back within that period, the change is not recorded.
However, changes are recorded if they overlap the changelog's minute (e.g. a record is changed 10 seconds before the changelog period ends and then changed back 10 seconds after the period has started).
Changelogs are recorded for:
Customers
Items
Service Manager
Settings
Suppliers
Transactions
Weighbridge
You are able to view the entire Change Log from Main Menu > Help > Changelog. In modules, you are able to view Changelogs from the List View (All changes to the module) or from the Edit View (All changes to selected record).
Table of Contents
Navigation: Main Menu > Setup > Settings > General (tab)
System > Remove Audits/Changelog older than X months (0 = retain all logs): Specifies for how long changelogs should be kept. Shorter periods are preferable because changelogs can increase the size of the database. The default is 12 months.
ℹ️ Where available, changelogs can be viewed from Menu (button) > View Changelog.
All the changelogs can be viewed from Main Menu > Help > View Changelog.
Where changelogs were recently (September 2025) introduced into new modules, only changes to records created after the introduction are displayed.
Field Chooser (*): Allows fields to be added or removed.
ID: The system-generated number for the entry.
Date: The date of the change.
@: The time of the change.
Updated by: The user who updated the entry.
Module: The module that the entry is in.
Record: The number of the entry in its module (e.g. the transaction or ticket number).
Action: The action that was taken (e.g. Update, Delete).
Detail: Details of the change which displays the field changed and the value before and after the change.
ℹ️ Where available, audits can be viewed from Menu (button) > View Audits or from the right-click context menu under summaries (Summaries > Audits). Audits are opened on the right-hand side.
View: Generates an audit report.
Menu:
Reset Data Filter: Resets any filters.
Synchronise with open Transaction: Synchronises the display with open transactions.
Date Grouping: An option to group the fields by Date, by Month, by Year, or Relative.
Expand Groups: Expands the groups.
Collapse Groups: Collapses the groups.
Save Grid: Saves the grid.
Restore Grid: Restores the grid.
Set: Predefined date options including No Date to display all the changes.
Arrows: Adjusts the dates.
Date... to: Fields to enter specific dates.
Module: A dropdown list of all the modules that have audit trails.
Module options: A dropdown list of fields in the module to filter the entries (e.g. Status, Updates, Deletes, Imports). Unavailable in some modules.
No.: A field to type a specific entry or transaction number.
User: A dropdown list of all the users to select all or a specific user.
Field Chooser (*): Allows fields to be added or removed.
ID: The system-generated number for the entry.
Trans No.: A code indicating the module, and the number of the entry in its module.
Description: A list of the changes made (e.g. Update - Qty: 1, Delete - Item: Red Chair).
Updated: The user, date, and time of the update.
Every table has a USERUPDATED field which is populated from the front end on every Insert, Update or Delete.
The changes are recorded in the table CHANGELOG - Fields include:
CHANGELOGID,
PKID - Primary key
FKID - Foreign key of the Parent table
CRUDID
USERNAME
TABLENAME
FIELDNAME
NEWVALUE (truncated to 100 chars)
A Trigger is created for every table that is monitored and is named: TR_TABLENAME_CHANGELOG
The trigger updates the CHANGELOG table using the stored procedure TR_TABLENAME_CHANGELOG
The procedure CHANGELOG_SELECT is used to provide a user-friendly log of changes.
A table STATUSCHANGE has been added to record status changes. This table facilitates merging the changelog and audit trail functionality.
CRUDID
1 - Insert: One record for every field that has value.
2 - Update: One record for every field that has a new value.
3 - Delete: One record linked to the table only.
Document the fields that will be checked - in the module documentation under a heading Changelog
Create a trigger that updates Changelog after insert, update and delete - naming: TR_TABLENAME_CHANGELOG
Update procedure CHANGELOG_SELECT_CAPTION - converts NAMES to CAPTIONS
Create procedure to select the Changelog - naming: TABLENAME_CHANGELOG
Add a menu item to View Changelog