Contract Maintenance: Maintenance
Maintenance profiles, service, and reporting
Maintenance
The Maintenance screen offers a summary view of a contract’s transactions. Transactions can originate from the following areas:
Approvals (such as maintenance, services, fuel, transport and others)
Payments (finance, insurance and management fee)
Payment transactions are displayed if they have a Posted or History only status. The Due Date of the payment is displayed on the Maintenance screen and in the Maintenance report.
Finance transactions are only displayed and reported if the Finance checkbox “Report Finance Payments?” is checked. Insurance transactions are always displayed.
Management Fee transactions are displayed when payments are Posted.
Single Posting Class transactions are displayed if they have a status of Posted or History Only.
Reg/CTP Renewals
Card Services
Contract Events
When a Driver Change Event is created and an odometer reading is entered, an “Odometer Reading Update” entry is created and shown as a valid maintenance entry
Vehicle Transfers
Where a vehicle is moved between contracts, Maintenance History can be shared where specific data relationships exist
Filters
From (Date) — Enter or pick a date to filter transactions from
To (Date) — Enter or pick a date to filter transactions to
Class (Check List) — Default is '--All--'. Select classes to filter displayed transactions
This filter works independently of “Exclude Fuel & Tolls & Insurance”
If Fuel is selected here, the exclusion checkbox must be unchecked or fuel remains hidden
Exclude Fuel & Tolls & Insurance (Check Box) — Checked by default
Excludes Fuel, Tolls, and Insurance transactions
Configure standard exclusions via system setup (support required for posting class configuration)
Supplier (Drop List) — Default '--All--'
Filters transactions by supplier linked to the contract
All History (Check Box) — Checked by default
Displays transactions from other contracts in grey if they are believed to relate to the same vehicle
Field Descriptions
Odo (Check Box) — Marks odometer reading as valid and includes it in reporting and odometer calculations
C (Text) — Class code (e.g. M = Maintenance). See Posting Classes
R (Text) — Recharge flag (Y/N). Indicates whether transaction is recharged to customer
Description (Text(40)) — Transaction description; fuel imports include timestamp of fuel fill
Qty (Num) — Quantity (e.g. tyres used)
Supplier (Link) — Links to supplier record; hover shows supplier name
Reference (Link) — Reference number:
Approval: Invoice Number (links to Approval)
Payment: Payment Number (links to Payment screen)
Some records (fuel, odometer, history-only) are stored directly and are not linked
(Attachment) — Attachments for approvals can be opened via the attachment icon
External access depends on Disclose Running Costs settings and Recharge flag
App # (Link) — Approval number link:
Navigates to Approval or Contract Approval tab
Claims navigate to Contracts / Claim tab
Cost (Num) — Net GST value
Screen Legend
Pending — Transactions in red; not yet posted (Insurance pending not shown)
Posted — Transactions in black; fully posted
Billing — Transaction will be recharged but invoice not yet raised
History Only — Record stored for reference only:
Posted via History Only button
Odometer readings
Historical vehicle-linked contract records
Output Options
Action Buttons
View — Print Maintenance or Fuel Performance report (PDF/CSV)
Transfer — Transfer costs between contracts
Add Odometer — Manually add odometer reading
Stored as Class Code ‘ODO’ and VMRS Code ‘FBT’
Marked as History Only
Includes validation check (20% variance warning)
Driver entries require declaration confirmation
IMEI Interface Button — Available if IMEI integration is configured
Edit — Edit selected record
Save — Save changes
Cancel — Discard edits
Filter Selection
No Class selected. Screen will not be refreshed. — Occurs when Go is clicked without selecting any classes
Maintenance Profiles
Maintenance profiles calculate expected servicing costs based on vehicle and contract settings.
Each variant includes:
Service Months
Service Kilometres
These are used to estimate expected services based on:
Contract Term
Contract Kilometres
Variants are linked to a service profile (e.g. 4Cyl Luxury 2WD 10K Service), which determines cost estimates included in the Total Budget.
Maintenance budgets can be adjusted via:
Clients / Quote Defaults “Maintenance Uplift Rate” (percentage adjustment, positive or negative)
Additional uplift for used vehicles (configured separately)
The maintenance profile recalculates when:
Effective Date changes
Term (Months) changes
Annual KM changes
Client Code changes
Variant changes
New/Used status changes
Odometer changes
Field Descriptions
Include? (Check Box) — Includes or excludes the profile
Profile Name (Lookup) — Select maintenance profile (default from variant)
Interval Months (Text) — Service interval in months
Interval KMs (Text) — Service interval in kilometres
Number of Services (Calculation) — Higher of time-based or distance-based service count
Cents per KM (Calculation) — Contract KMs ÷ Total Budget
Monthly Budget (Number) — Total Budget ÷ billing periods
Per Service Budget (Calculation) — Total Budget ÷ Number of Services
Total Budget (Number) — Total calculated maintenance cost
Example Calculation (New Vehicle)
Service interval: 15,000 km or 6 months
Every 7th service is major ($1,500), others are minor ($480)
Vehicle starts at 0 km
8 services total:
7 minor services
1 major service
Total: $4,860.00
Example Calculation (Used Vehicle)
Starting odometer: 100,000 km
Same service structure as above
8 services total:
6 minor services
2 major services
Total: $5,880.00
Maintenance profiles are typically generated via scheduler jobs during implementation.
Useful Queries
Variants missing maintenance profile
select v.variant_id, v.short_description, vp.variant_profile_id, msp.maintenance_service_profile_id, msp.name
from qt_variants as v
left join qt_variant_profiles as vp on vp.variant_id = v.variant_id
left join qt_maintenance_service_profiles as msp on msp.maintenance_service_profile_id = vp.maintenance_service_profile_id
left join qt_maintenance_service_profile_intervals as mspi on mspi.maintenance_service_profile_id = msp.maintenance_service_profile_id
where msp.maintenance_service_profile_id is null
group by v.variant_id;Maintenance profile cost summary
select msp.maintenance_service_profile_id,
msp.name,
max(service_no) as services,
sum(mspi.service_cost + mspi.maint_cost) as total_cost
from qt_maintenance_service_profiles as msp
left join qt_maintenance_service_profile_intervals as mspi
on mspi.maintenance_service_profile_id = msp.maintenance_service_profile_id
group by msp.maintenance_service_profile_id;Maintenance Program VMP
A Maintenance Program profile is available when the Contract Type includes an accrual class of VMP.
Default value can be set in Clients / Quote Defaults “Maintenance Program Fee”
If set to 0:
Profile is unchecked
Amount field is disabled
Can be manually overridden per quote
Posting Class Setup (VMP)
Check existing posting class
Go to Posting Classes / Details
Search for Class Code
VMP
Create posting class (if required)
Class Code: VMP (reserved)
Name: Maintenance Program
Quote Profile Table:
qtquotevehiclemaintenanceprogram
Contract Type Configuration
Go to Fleet / Controls / Accounts / Contract Types
Open required contract type
Navigate to Accruals tab
Add class
VMPSave changes
New quotes will include VMP automatically. Existing quotes must be updated manually.