Configuration
This document explains how to configure the Finals Billing System.
General Configuration (config.lua)
Framework Detection
SQL
Config.Framework = 'auto'- Automatically detects:
ox_core→ usesoxes_extended→ usesESX- else →
QBCore
- You can force:
ox,qb,esx
Debug Mode
SQL
Config.Debug = true- Enables client warnings (useful for dev).
- Disable in production.
UI Theme
SQL
Config.UiTheme = 'green'- Available themes:
- yellow, orange, purple, blue, cyan, green, red, blackandwhite
SQL
Config.CustomThemePresets = {}- Override or create custom UI themes.
Dev Mode
SQL
Config.DevModeAllowSelfCharge = true- Allows billing yourself (for testing UI).
Auto Debit System
SQL
Config.AutoDebitSeconds = 5- Time before invoice auto-deducts if unpaid.
SQL
Config.MaxBillDistance = 10.0- Maximum distance between biller and target.
Interaction Settings
SQL
Config.Interaction = 'ox_target'Supported:
ox_libox_targetqb_target
SQL
Config.PointDistance = 2.6- Default interaction radius.
Billing Desk Interaction
SQL
Config.BillingLocationInteractDistance = 2.5SQL
Config.BillingMarker = false- Show marker on billing desks (only for
ox_lib).
Target UI Settings
SQL
Config.BillingTarget = {
icon = 'fas fa-file-invoice-dollar'
}SQL
Config.InvoiceClerkTarget = {
icon = 'fas fa-receipt'
}Pay Later System
SQL
Config.PayLater = {
Enabled = true,
MinDays = 1,
MaxDays = 90,
DefaultDays = 7,
OverdueCheckSeconds = 60
}Features:
- Players can delay payments
- Auto-check for overdue invoices
- Supports partial payments
Invoice Clerk (NPC)
SQL
Config.InvoiceClerk = {
PedModel = `cs_bankman`,
Location = vector4(...),
}- Used to:
- View invoices
- Pay invoices
Banking Integration Mode
SQL
Config.UsingFinalsBankingInvoice = truetrue:- Uses Finals Banking UI
- No clerk NPC needed
false:- Uses standalone clerk system
Exports available:
GetPendingInvoicesPayInvoiceConfirmInvoicePayment
Banking System Integration
SQL
Config.Banking = 'finals_banking'Supported:
finals_bankingqb-bankingqb-managementrenewed-bankingesx_banking
Billing Types (Config.Billing)
Each entry defines a billing system.
Structure
SQL
{
Lable = 'Invoice Name',
logo = 'image_url',
AllowedJobs = { 'job' },
command = 'command_name',
item = false,
Locations = { vector3(...) },
logWebhook = 'discord_webhook',
societyfunds = true,
societypersentage = '60%',
societyAccount = 'job_name',
Force = true,
AllowPayLater = true,
MaxPayLaterDays = 30
}Key Options Explained
Label & Logo
SQL
Lable = 'Police Fine'
logo = 'url'- UI display name + image.
Job Restriction
SQL
AllowedJobs = { 'police' }- Only specific jobs can use this billing.
Trigger Methods
SQL
command = 'polcharge'
item = false
Locations = { vector3(...) }You can use:
- Command →
/polcharge - Item → usable item
- Location → world interaction
Distance / Interaction
SQL
LocationInteractDistance = 2.5
LocationLabel = '[E] Open Billing'Discord Logs
SQL
logWebhook = 'your_webhook'- Sends billing logs to Discord.
Society Money
SQL
societyfunds = true
societypersentage = '60%'
societyAccount = 'police'- % of invoice goes to job account.
Force Payment
SQL
Force = trueIf enabled:
- Try bank
- Then cash
- Then allow negative balance
Pay Later Options
SQL
AllowPayLater = true
MaxPayLaterDays = 30- Overrides global PayLater config.
Example Billing Types
Police Billing
- Command:
/polcharge - Society gets 60%
- Force payment enabled
EMS Billing
- Command:
/emscharge - No society share
Mechanic Invoice
- Open billing system for all players
Custom Job Billing (Redline / AutoTech)
- Job-based invoices
- High society share (90%)
Key Features Summary
- Multi-method billing (command, item, location)
- Pay-later invoice system
- Auto debit system
- Society fund integration
- Discord logging
- Full integration with Finals Banking
Notes
- Always secure your webhook URLs
- Tune auto-debit timing for RP balance
- Keep
Force = falsefor realistic servers - Use
UsingFinalsBankingInvoice = truefor best UI experience