Products
The Products tab is the heart of the admin panel — the full catalog editor. Everything you do here writes straight to the vip_products table and is live immediately, no restart required.

Browsing the catalog
A category selector at the top left filters the table. It always includes an All categories option (the default), which merges every category's products into one list with a Category column so you can tell them apart.
A search box filters the visible products by name or value.
Each row shows the product, its value/model, price, stock, and flags (VIP, requires‑VIP, Web).
Adding or editing a product
Click Add product (or the pencil icon on a row) to open the editor:
Category
Which category the product belongs to. You can move a product between categories here.
Name
The label players see.
Value / Model
The internal identifier passed to your reward handler — a vehicle model, item name, weapon hash, etc.
Price
Cost in the chosen account.
Stock
Units available. Enter a very high number (≥ 9999) for unlimited stock.
Account
Which balance is charged (tokens, bank, cash, money, crypto).
Account label
How that currency is shown on the card.
Image URL
Optional custom image; falls back to sensible defaults if empty.
Website URL
Optional. Turns the product into a web link — clicking opens the URL, nothing is charged.
VIP months
(VIP category only) How many months of VIP the product grants.
Requires active VIP
Player must already be VIP to buy.
Allow preview
Lets players zoom the product image (vehicles / peds).
Custom data
Below the standard fields is a Custom data section where you can attach any number of extra key → value pairs. These are stored with the product and delivered to your reward handler untouched — use them for things like amount, plate, ammo, or components. Values are auto‑typed: numbers stay numbers, true/false become booleans, and JSON objects/arrays are parsed. Reserved field names are blocked so custom data can never clobber a managed field. See Product fields for the full list.
For the VIP category, the VIP months field always saves a real value (defaulting to 1) even if you don't touch it.
Last updated