Skip to content

Administrator Guide

This guide covers the administrative workflows for ars_cardealer. Administrators create and manage dealerships, curate the vehicle catalog, grant ownership, tune live settings, and monitor everything through the audit log.

Staff-facing workflows live in their own guides: see the Owner Guide for boss-panel management (employees, funds, coupons) and the Employee Guide for floor staff (selling, test drives, trucking).


  1. Opening the Admin Panel
  2. Creating and Managing Shops
  3. Catalog Management
  4. Per-Shop Settings
  5. Audit Log and Analytics
  6. Global Settings

Run the admin command in-game:

/arscardealer

The server checks Config.Admin.allow (group, license, or identifier) before opening the panel. Console (src == 0) always passes. If you see “You don’t have permission to do that,” your account does not match any allow-list entry in config.lua.

The admin panel has six top-level tabs:

Tab Purpose
Shops List, edit, activate/deactivate, or delete dealerships
Overview Network-wide revenue, sales, and financed totals
Ledger Full transaction ledger across all dealerships, filterable and paginated
Catalog Master vehicle list with import and edit tools
Audit Log Every privileged action (hires, funds, edits, ownership)
Settings Live-tune economy and gameplay values

  1. Open the admin panel and go to the Shops tab.
  2. Click Create Shop.
  3. Fill in the shop identity:
    • ID — lowercase, no spaces (e.g. pdm). Used as the unique key.
    • Label — display name (e.g. Premium Deluxe Motors).
    • Category hint — optional grouping.
    • Shop type — Self Service, Player Owned, or Unowned.
  4. Choose Customer access:
    • Public — anyone can browse and buy.
    • Restricted — select specific jobs that can browse.
  5. Optionally restrict a Gang Access Whitelist — when set, only players in the listed gangs (comma-separated) can browse and buy.
  6. If using job management mode, select a Management job or create a new one.
  7. Click Create & draw zone.

The creator puts you in noclip mode. Left-click to place zone vertices, then walk to each point and press E:

Point Purpose
Browse Where customers target the salesman ped to open the catalog
Preview Where the 3D vehicle preview spawns
Deliver Where purchased vehicles spawn
Manage Where the boss/management panel opens
  1. After placing points, optionally add display vehicles by selecting a model and left-clicking in-world to place each one.

From the Shops tab, click Edit on any dealership to open the ShopEditor:

  • Change the label, category, blip sprite/color/scale.
  • Swap the salesman ped model (or use a custom one).
  • Re-place the zone and points, or add/remove display vehicles.
  • Readjust a display’s position with /readjustdisplay.

Toggle a shop’s active state from the shop list. Inactive shops do not spawn peds, blips, or displays.

Permanently removes the shop, its stock, and all assignments. This cannot be undone — confirm carefully.


The Catalog tab manages the master vehicle list (ars_cardealer_vehicles) shared across all dealerships.

  1. Open the Catalog tab in the admin panel.
  2. Click Import — the panel previews the active framework’s vehicle list (QB: QBCore.Shared.Vehicles, QBox: exports.qbx_core:GetVehiclesByName(), ESX: vehicles SQL table).
  3. Optionally filter by category, then confirm the import.

New vehicles are inserted with source = '<framework>' so you can later identify their origin.

  1. Click Add vehicle.
  2. Enter the model spawn name (lowercase, no spaces — used as the unique key).
  3. Set label, category, price, stock (-1 for unlimited), image URL, and stats.
  4. Assign the vehicle to one or more dealerships with optional per-shop price overrides.

For adding many vehicles at once:

  1. Click Bulk add.
  2. Enter one vehicle per line in the format: model, label, category, price (last three optional). Lines starting with # are comments.
  3. Preview the valid/skipped count, then confirm.

The resource includes an in-game image capture flow using screenshot-basic:

  1. Ask the server owner to configure the image host in server/utils.lua (uploadProvider + webhook/API key) — captures fail until this is set. See Installation.
  2. Select vehicles in the Catalog tab.
  3. Click Bulk capture images.
  4. The system spawns each vehicle in an isolated studio (green screen), captures a 512×512 image, removes the background, and uploads to the configured provider.

Note: Image upload provider configuration (webhook URL / API keys) lives in server/utils.lua via Server.GetUploadConfig — not in config.lua.


Each shop can override global defaults without touching config.lua. Open the shop in the Shops tab → Edit → Per-shop settings. Every option is tri-state (Inherit follows the global config):

Setting Description
Test drives Enable/disable the test-drive flow at this shop
Financing Enable/disable financing at this shop
Display panel Show/hide the floating stats card near display vehicles
Buy from catalog Off = customers can only browse; a rep must complete the sale
Trade-in Enable/disable trade-ins at this shop
Coupons Off = coupon codes cannot be redeemed at this shop
Colour customization Off = customers buy in factory colour
Extras Toggle-able add-on parts in the purchase panel
Liveries Livery stepper in the purchase panel
Colour mode palette, ids, or rgb wheel
Stock delivery mode instant, auto, or trucking
Delivery garage Override the garage where purchased vehicles spawn
Accepted payment methods Restrict which currencies this shop accepts
Company Fleet Purchases Allow organization & gang fleet purchases from company funds

The Audit Log tab records every privileged action, grouped by prefix:

Action Description
employee.hire / employee.fire Hire/fire events
employee.role / employee.update_salaries Role and salary changes
funds.deposit / funds.withdraw Owner balance movements
funds.restock_charge / funds.restock_refund Wholesale charges and refunds
shop.create / shop.update / shop.delete Shop changes
shop.toggle Shop active/inactive state
business.toggle Business open/closed state
shop.settings Per-shop settings changes
shop.assign_owner / shop.clear_owner Ownership changes
stock.order / stock.update / stock.reset Stock management
catalog.add / catalog.update / catalog.delete / catalog.assign / catalog.bulk_add / catalog.import Catalog management
display.add / display.update_slot / display.delete_slot Display vehicles
used_listing.toggle / vehicle.sell_to_dealer Used-vehicle listings and sales
coupon.create / coupon.toggle / coupon.delete Coupons
payroll.salary / payroll.skipped / commission.paid / business.commission_credit Payroll and commissions
purchase.rollback / purchase.rollback_denied Purchase refunds
financing.loan_created / financing.installment / financing.payment / financing.delinquent / financing.repossessed / financing.recovered Financing lifecycle
transfer.vehicle P2P ownership transfers
delivery.order_cancelled Cancelled restock orders
job.create Management job auto-creation (job mode)

Audit entries are auto-pruned after Config.Admin.auditRetentionDays (default 90).

The Overview tab shows network-wide KPIs:

  • Lifetime revenue and sales count
  • 30-day revenue and sales
  • Financed vs. cash sale breakdown
  • Active shops count
  • Recent transaction ledger (filterable by dealer, player, model, date range)

The Settings tab in the admin panel lets you tune economy and gameplay values at runtime without restarting the resource. Changes are stored in ars_cardealer_settings and override config.lua defaults live.

Key settings include:

  • Delivery: defaultMode, wholesalePct, autoDelay, autoFeePct, driverPayPerUnit, driverPayFlat
  • Test drive: enabled, mode, duration, maxDistance, deposit, cooldown
  • Financing: enabled, interestRate, plans, intervalHours, repoFee
  • Trade-in and sell: baseValuePct, payoutPct, minValue
  • Commission: enabled, rates, selfServeMultiplier

To revert a setting to its config.lua default, delete its row from the ars_cardealer_settings table. See Configuration for the full list.


Command Description
/arscardealer Open the admin shop control panel
/readjustdisplay Reposition the nearest display vehicle

Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.