Commands#
Banking Creator registers a single command. Everything else a player does is reached in the world — counters, tellers, ATMs, the boss laptop and branch doors.
Command / key | Where | Description |
|---|---|---|
| In game | Opens the bank creator. Renamed with |
Documentation
Banking Creator commands, server and client exports and events: AddTransaction, society and gang money, GetPlayerLoans, GetHeldAmount, GetBanks and the property banking API for FiveM developers.
Banking Creator registers a single command. Everything else a player does is reached in the world — counters, tellers, ATMs, the boss laptop and branch doors.
Command / key | Where | Description |
|---|---|---|
| In game | Opens the bank creator. Renamed with |
ECounter, teller, ATM |
Opens the bank or the ATM, when |
| Boss laptop | Opens Manage for the owner, the staff and creator admins. |
| Branch door | Locks or unlocks it, for the owner and ranks with the |
How another resource drives the bank — a job paying wages, a heist draining a company, a phone app reading a mortgage. identifier is the framework's character id: the ESX identifier or the QBCore citizenid.
Adds an entry to the history in the Overview tab without moving any money. The icon is a Font Awesome class; a piggy-bank icon reads as money in, money-check or wallet as money out, exchange as a transfer. The first number in the text is shown as the amount.
exports['qs-banking']:AddTransaction(identifier, 'Paycheck', 'fa-solid fa-piggy-bank', 'Weekly pay: 2500')Read and move a job's shared account. The account is opened on first use when Config.Society.autoCreate is on. Every movement is written to the account's log with the reason. RemoveSocietyMoney returns false and takes nothing when the balance is short.
local balance = exports['qs-banking']:GetSocietyMoney('police')
exports['qs-banking']:AddSocietyMoney('mechanic', 1500, 'Repair invoice #204')
if exports['qs-banking']:RemoveSocietyMoney('police', 5000, 'Weekly wages') then
-- paid
end
local account = exports['qs-banking']:GetSocietyAccount('police', 'job')
-- { id, name, label, type, balance, roles, created }Each takes an optional last argument, 'job' (default) or 'gang'. For scripts written against qb-management, the same functions also answer to , and .
exports['qs-banking']:AddGangMoney('ballas', 20000, 'Drug run')
exports['qs-banking']:RemoveGangMoney('ballas', 5000, 'Weapons')
local gang = exports['qs-banking']:GetGangAccount('ballas')Gang accounts appear in the Company tab on QBCore with Config.Society.gangs on.
GetPlayerLoans returns the player's pending, active and defaulted bank credit, split into loans and mortgages. Each entry carries id, bankId, status, amount, total, paid, remaining, instalment, missed, nextPayment and its collateral.
How much of the player's balance is frozen right now. Subtract it before letting another script spend from the bank account, or the player could pay with money the bank is still holding.
local held = exports['qs-banking']:GetHeldAmount(identifier)
local spendable = bankBalance - heldEvery branch and every creator-placed ATM, as loaded from the database. A branch carries id, name, label, displayName, coords (with w as heading), blip, ped, owner, ownerName, forSale, price, fee, treasury, and .
if exports['qs-banking']:IsRealEstateReady() then
local buyers = exports['qs-banking']:GetHouseBuyers()
-- { { id, label, ownerName, treasury }, ... } owned branches with the Real Estate licence
endMeant for ox_inventory's client.export and origen_inventory. It reads the card's metadata, checks that the player stands at an ATM, and opens the PIN pad.
client = { export = 'qs-banking.CreateCard' }-- Client → server: same as AddTransaction, for the calling player
TriggerServerEvent('banking:server:addTransaction', 'Paycheck', 'fa-solid fa-piggy-bank', 'Weekly pay: 2500')
-- Client → server: offer one of the player's houses to a branch (qs-housing)
TriggerServerEvent('qs-banking:server:offerHouseToBank', house, bankId, price)
-- ox_lib callback: branches that buy houses
local buyers = lib.callback.await('qs-banking:getHouseBuyers', false)
-- Client: fired on every player whenever a branch or ATM changes
RegisterNetEvent('banking:client:syncLocations', function(payload)
-- payload.banks, payload.atms
end)Every action that can be refused answers { ok = false, reason = '...' }, and the interface turns the reason into a translated message. The server re-checks ownership and rank permissions on every one of them, so nothing sent from a modified client gets past it. Common Errors lists what each reason means.
GetAccountBalanceAddMoneyRemoveMoneylocal credit = exports['qs-banking']:GetPlayerLoans(identifier)
-- credit.loans, credit.mortgages
local housing = exports['qs-banking']:GetHousingMortgages(identifier)
-- { { house, remaining, instalment, instalmentsLeft }, ... } — qs-housing's own creditemployeesupgradesfor _, bank in ipairs(exports['qs-banking']:GetBanks()) do
print(bank.id, bank.displayName or bank.label, bank.owner)
end
local atms = exports['qs-banking']:GetAtms()