Skip to content

Configuration

The bundle has three configuration entry points:

ResourceConfiguration file
rs_bankshared/config.lua
rs_billingshared/config.lua
rs_mobile_bankconfig.lua

Use the exact resource names below so the bank and billing bridges remain connected.

-- rs_bank/shared/config.lua
Config.BillingScript = 'rs_billing'
-- rs_billing/shared/config.lua
Config.Payment.BankResource = 'rs_bank'
Config.Payment.LBPhoneBridge = true -- Relevant only when using rs_mobile_bank
Config.Core = 'qb-core' -- 'qb-core', 'qbox', 'esx', or custom bridge
Config.Inventory = 'auto' -- 'auto', 'ox_inventory', 'qb-inventory', 'qs-inventory', 'custom'
Config.TargetSystem = 'qb-target' -- 'qb-target', 'ox_target', or 'none'
Config.UseDrawText = false
Config.Phone = 'lb-phone' -- Phone notification bridge
Config.ManagementType = 'internal'

Supported management values:

  • internal
  • qb-management
  • qbx_management
  • esx_society
Config.Locale = 'en'
Config.BankName = 'Retro Bank'
Config.BankLogo = 'nui://rs_bank/logos/bank-logo.png'
Config.Currency = '$'
Config.DateFormat = 'MM/DD/YYYY'

Bank and ATM languages are configured through Config.ATMLanguages. Included locales are English, Turkish, Spanish, French, German, Dutch, and Arabic.

Config.IBAN = {
Length = 4,
Prefix = 'RS',
ChangeCost = 10000,
}
Config.QuickAmounts = { 100, 500, 1000, 5000 }
Config.MaxTransactionAmount = 100000
Config.MinTransferAmount = 1
Config.TransferFee = 2
Config.AllowOfflineTransfers = true
Config.MaxTransactionHistory = 50
Config.RequirePIN = true
Config.PINLength = 4
Config.MaxPINAttempts = 3
Config.LockoutTime = 300

Edit Config.SecurityQuestions to replace or localize the recovery questions.

Config.EnableSavingsGoals = true
Config.MaxSavingsGoals = 6
Config.MaxSubAccounts = 2
Config.EnableInterest = true
Config.InterestRate = 0.01
Config.InterestInterval = 86400
Config.MaxInterestBalance = 50000
Config.MinFreezeDays = 7
Config.MaxFreezeDays = 30
Config.AllowEarlyUnfreeze = true
Config.LoanSystem = {
AdminApproval = true,
CreditScoreMultiplier = 50,
MaxLoanAmount = 150000,
StartingCreditScore = 200,
MaxCreditScore = 1500,
InterestRate = 30.0,
DefaultCollateralValue = 25000,
CollateralRatio = 0.5,
RepaymentOptions = { 7, 14, 30 },
RepoGracePeriod = 0,
ApprovalTime = 5,
}

You can also edit blocked vehicle models and the visual credit-score brackets inside the same table.

Config.CheckSystem = {
Enabled = true,
BookPrice = 5000,
PagesPerBook = 20,
MinAmount = 1,
MaxAmount = 100000,
NearbyDistance = 10.0,
CheckBookItem = 'checkbook',
CheckItem = 'check',
}

The configured item names must exist in your inventory.

Add full-service bank locations inside Config.Banks. Each entry supports a name, coordinates, and blip settings.

Config.Banks = {
{
name = 'Legion Square Bank',
coords = vector3(149.67, -1040.46, 29.37),
blip = {
enabled = true,
sprite = 108,
color = 2,
scale = 0.8,
label = 'Fleeca Bank',
},
},
}

To use all standard GTA ATM models automatically:

Config.UseGameATMs = true
Config.OpenMethod = 'both' -- 'item', 'command', or 'both'
Config.ItemName = 'billing_tablet'
Config.Command = 'billing'

Use command mode when you do not want to register a tablet item.

Config.Invoice = {
Prefix = 'INV',
MaxDescriptionLength = 255,
MaxAmount = 1000000,
MinAmount = 1,
AllowCancel = true,
AllowMultipleRecipients = true,
MaxDistance = 20.0,
NearbyDistance = 5.0,
LEOJobs = { 'police', 'bcso', 'sheriff' },
}
Config.Deadline = {
DefaultDays = 7,
MinDays = 7,
MaxDays = 30,
FinePercent = 5,
MaxFinePercent = 50,
CheckInterval = 60,
}
Config.CreditScore = {
UnpaidThreshold = 3,
ReductionPerDay = 15,
MinScore = 0,
CheckInterval = 3600,
}

This feature connects overdue billing behavior to the banking credit-score system.

Edit Config.Categories to define the invoice categories shown in the UI.

Config.Templates = {
Enabled = true,
MaxPerPlayer = 10,
CompanyRequireBoss = true,
}
Config.PaymentPlan = {
Enabled = true,
MinInstallments = 2,
MaxInstallments = 12,
IntervalDays = 7,
FinesPerInstallment = true,
}
Config.Notifications = {
OnReceive = true,
OnPaid = true,
SenderName = 'Billing Department',
}

The selected phone bridge is controlled by Config.Phone in the same file.

rs_mobile_bank/config.lua controls the identity and translations of the LB Phone application.

Config.AppName = 'Retro Bank'
Config.AppDescription = 'Mobile Banking'
Config.AppDeveloper = 'IRedSea0'
Config.AppIcon = 'https://cfx-nui-rs_mobile_bank/logos/app-icon.png'
Config.DefaultLanguage = 'en'
Config.ShareIBANDistance = 5.0

The app automatically registers with LB Phone when the resource starts.

Edit Config.Translations inside config.lua. The resource generates ui/dist/config.js on startup, so no frontend rebuild is required.