Features
Overview of Oxide Vending features including multi-framework support, business management, machine types, and revenue systems.
Framework Support
oxide-vending supports multiple FiveM frameworks through its bridge system:
- QBCore - Full support with native QBCore resources
- QBx (Qbox) - Full support with ox_target and ox_inventory
- ESX - Full support with ox_target, optional ox_inventory
- Standalone - No framework required, uses ox_inventory and ox_target with configurable money/inventory functions
The framework is auto-detected at startup. See Installation for setup details.
Business System
Business Registration
Players can register a vending machine business through the NPC showroom:
- Pay a one-time registration fee (default: $5,000)
- Choose a unique business name
- One business per player (configurable)
- Business automatically creates a progression record
Employee Management
Hire employees to help manage your business:
| Permission Level | Capabilities |
|---|---|
owner | All permissions (manage, stock, collect, place, remove, hire, fire, pricing, withdraw, deposit, view_balance) |
manage | Stock items, collect revenue, place/remove machines, adjust pricing, deposit, view balance |
collect | Collect revenue, view balance |
stock | Stock items only |
Employee limits are determined by business level (see Progression).
Machine System
Machine Types
Four machine types with different characteristics:
| Type | Price | Slots | Capacity | Description |
|---|---|---|---|---|
drinks | $15,000 | 8 | 50/slot | Beverages and drinks |
snacks | $12,000 | 6 | 40/slot | Food and snacks |
general | $20,000 | 12 | 30/slot | Various items |
electronics | $35,000 | 6 | 20/slot | Phones and electronics |
Machine type availability is unlocked through the progression system.
Machine Placement
Interactive placement system with:
- Preview ghost model
- Mouse rotation controls
- Distance limits from player
- Minimum distance between machines
- Blocked zone support
- Collision detection
Machine Status
Machines can have three statuses:
| Status | Description |
|---|---|
active | Fully operational, can sell items |
inactive | Manually disabled by owner |
broken | Durability reached 0, requires repair |
Durability System
Machines degrade over time based on sales:
- Player sales: 0.5 durability per sale (configurable)
- NPC sales: 0.3 durability per sale (configurable)
- Warning notification at 20% durability
- Machine breaks at 0% durability
- Repair costs vary by machine type
Inventory System
Stocking Items
Stock items into machines from your inventory:
- Item whitelist per machine type
- Maximum capacity per slot
- Price setting within allowed range
Price Constraints
Item prices must fall within markup limits:
Minimum Price = Base Price × MinMarkup (0.8x default)
Maximum Price = Base Price × MaxMarkup (3.0x default)
Default Price = Base Price × DefaultMarkup (1.5x default)
Pricing range improves with business level.
Wholesale Ordering
Bulk purchase items at discounted rates:
- 20% markup on wholesale orders (configurable)
- Minimum order quantities per item
- Delivery to warehouse or pickup location
- Delivery delay (default: 5 minutes)
- Wholesale discount improves with level
Revenue System
Sales Processing
When a customer purchases an item:
- Item is removed from machine stock
- Revenue is added to machine balance
- Transaction is logged
- Machine durability decreases
- Business XP is awarded
Revenue Collection
Collect accumulated revenue from machines:
- Requires
collectpermission - Revenue stored per-machine
- Transfers to business bank account (or owner's bank)
Banking Integration
With oxide-banking installed:
- Separate business account created automatically
- Account name:
vending-{business_id} - Supports deposits, withdrawals, balance viewing
Without oxide-banking:
- Revenue goes directly to owner's bank account
- Owner must be online for some operations
NPC Sales Simulation
Server-side passive income generation. See NPC Sales for details.
Key features:
- Configurable tick interval (default: 60 seconds)
- Time of day multipliers
- Location-based hotzones
- Machine type modifiers
- Price competitiveness affects sales
- Competition system between nearby machines
Progression System
10-level business progression. See Progression for details.
Key features:
- Dual requirement: XP threshold AND revenue milestone
- XP earned from sales, stocking, collecting
- Daily bonus with streak multiplier
- One-time milestone bonuses
- Level rewards unlock features and improve limits
Warehouse System
Physical warehouse for bulk storage:
- Purchasable at level 3+ (default)
- 4-digit access code
- Separate routing bucket per business
- Transfer items between warehouse and machines
- Maximum capacity: 5,000 items (configurable)
Dashboard (NUI)
Full-featured management dashboard:
Opening the Dashboard
- Command:
/vendingdashboardor/vdb - Event:
TriggerEvent('oxide-vending:client:openDashboard') - Export:
exports['oxide-vending']:OpenDashboard()
Dashboard Tabs
| Tab | Features |
|---|---|
| Overview | Stats cards, quick actions, recent activity, progression display |
| Stock | Machine stock management, wholesale ordering, price updates, warehouse inventory |
| Map | Interactive GTA V map with machine markers, zoom/pan controls |
| Transactions | Searchable, filterable transaction history with pagination |
| Analytics | Revenue charts with period selection (7d, 30d, 90d), market competition analysis |
Auto-Refresh
Dashboard data auto-refreshes every 45 seconds while open.
Pickup Location
Physical location for wholesale order collection:
- Pallet with stacked boxes
- Each order creates a collectible box
- Progress bar during pickup
- Items go to player inventory or warehouse inventory
Rate Limiting and Anti-Abuse
All player actions are rate-limited with configurable cooldowns and window-based limits to prevent exploitation. Actions include purchases, stocking, collecting, placement, pricing, and more.
Transaction Pruning
Automatic cleanup of old transaction records based on configurable retention period (default 90 days). Runs periodically and optionally on resource startup.
Showroom
NPC showroom for purchasing machines:
- Blip on map (configurable)
- NPC vendor with clipboard scenario
- View available machine types
- Purchase machines (stored in owned_machines)