UiForge_CarFax
UiForge_CarFax is a CarFax-style vehicle history system for FiveM. It stores long-term vehicle service, incident, and ownership records and renders them as a print-ready report inside a document-style NUI.
Features
- Service records with shop label, notes, optional mileage, and timestamps
- Incident records with privacy support for restricted entries
- Ownership history with registration status changes
- Persistent VIN, plate, and report ID per vehicle
- Clean, document-style multi-page NUI report
- Fully localized with ox_lib locale files
- Multi-framework bridge for QBox, QBCore, and ESX
- Optional jg-vehiclemileage integration for automatic mileage capture
- Server-side validation and rate limiting
Dependencies
- ox_lib (required)
- oxmysql (required)
- QBox, QBCore, or ESX (one)
Installation
- Copy
UiForge_CarFaxinto your server resources folder. - Import
sql/uiforge_carfax.sqlinto your database. - Add to your server.cfg:
ensure ox_lib
ensure oxmysql
ensure UiForge_CarFax
- Configure
config.luafor jobs, labels, and report settings.
Commands
/servicecar(mechanic jobs)/incident(police jobs)/owneredit(dmv jobs)/carfax(everyone)/vin(everyone)
Exports
AddService
exports['UiForge_CarFax']:AddService(plate, data)
Example:
local ok, err = exports['UiForge_CarFax']:AddService('ABC123', {
service_type = 'oil_change',
notes = 'Oil and filter replaced.',
job_label = 'Hayes Autos',
mileage = 41250,
vin = '1A2B3C4D5E6F7G8H9'
})
AddIncident
exports['UiForge_CarFax']:AddIncident(plate, data)
Example:
local ok, err = exports['UiForge_CarFax']:AddIncident('ABC123', {
incident_type = 'impound',
notes = 'Vehicle held for evidence.',
job_label = 'Vespucci PD'
})
AddOwnerChange
exports['UiForge_CarFax']:AddOwnerChange(plate, data)
Example:
local ok, err = exports['UiForge_CarFax']:AddOwnerChange('ABC123', {
registration_status = 'valid',
notes = 'Title transferred and registration renewed.'
})
GetReport
exports['UiForge_CarFax']:AddOwnerChange(plate)
Example:
local report = exports['UiForge_CarFax']:GetReport('ABC123')
if report then
print(report.vehicle.vin)
end
Exports return true on success or false, errorKey when validation fails.
Localization
All user-facing text is stored in locales/en.json. Add additional locales under locales/ and set setr ox:locale <code> in your server.cfg.
Debug
Enable verbose logs by setting Config.Debug = true in config.lua.
Preview
Screenshots
| Service Car | Incident Report | Owner Transfer |
|---|---|---|
![]() |
![]() |
![]() |
| Carfax One Page | CarFax Onepage Full | CarFax 2 Page |
![]() |
![]() |
![]() |
Download Now
| Code is accessible | Yes |
| Subscription-based | No |
| Lines (approximately) | 1000+ |
| Requirements | Core, OxLib, Oxmysql |
| Support | Yes |






