lation scripts
scriptsmembershipdocs
see the scripts
Skip to Content
lation ui
lation interact
lation banking
MigratingAdmin panel and commandsAccountsBills and requestsRegisterLoansConfigurationDevelopersChangelog
lation shops
lation jobs
lation weed
lation chop shop

classics

money laundering
drug sales
coke processing
meth crafting
metal detecting
scuba diving
lation banking

Migrating

How lation banking replaces Renewed-Banking, qb-banking, qb-management and okokBanking, how their balances come across, and which of their exports and events it answers.

lation banking stands in for four resources. Its manifest provides their names, it answers their exports and events, and it reads their balances on start. Scripts written against any of them keep working without an edit.

Old resourceRemove it?Exports answeredBalances read
Renewed-BankingYesYesbank_accounts_new
qb-bankingYesYesbank_accounts
okokBankingYesYesokokbanking_societies
qb-managementCan stayYesmanagement_funds
esx_addonaccountStaysNot neededaddon_account_data, only while esx_addonaccount is not running
esx_societyStays, unless you run lation jobsNoNone

Personal balances are never imported or touched: they are your framework's own bank money, and they read the same before and after the switch.

Switching

Stop the server.

Delete or rename the old bank's folder (Renewed-Banking, qb-banking or okokBanking). Leave its database tables alone: lation banking reads them and never writes to them, so you can go back.

Install lation banking as on the overview, ensured before anything that uses society money.

Start the server and read the console. If an old bank's folder is still in your resources, it says so on every start:

[lation_banking] Renewed-Banking is still installed alongside lation_banking. Delete or rename its folder so every script reaches one bank.

If the console printed YOUR SOCIETY BALANCES WERE NOT IMPORTED, run /bankadmin and choose on the dashboard (below).

How balances come across

On every start, until an import has been taken or dismissed, lation banking looks for the tables above. A table counts only if it has the columns that bank uses and at least one account above zero.

  • One old bank with money, and lation banking holds none of its own: it is imported straight away and the console prints imported N account(s) from <bank>.
  • More than one old bank with money, or lation banking already holds money: nothing is imported. The console prints a YOUR SOCIETY BALANCES WERE NOT IMPORTED banner with each bank's account count, total and a few of its accounts, and the /bankadmin dashboard shows the same list. Press Import on the one your server was really using, or dismiss the card if your balances are already right. Either choice is remembered, and the tables are read again when you press it.
The dashboard's Society balances were not imported card: Renewed-Banking with 14 accounts and $2,431,900, and qb-banking with 6 accounts and $18,400, each with a few of its accounts and Import, and a close button that dismisses it
Choosing an import

An import sets each account to what the old bank says it holds and writes the difference into its history as Imported from <bank>, so you can always see where a balance came from. Old transaction history is not imported, savings accounts are never touched, and a job or gang account is filled only if that job or gang still exists in your framework.

What comes across from each:

From bank_accounts_new: the balance, the members (auth) and the frozen flag. An account with a creator was opened by a player and becomes a shared account under the same id, owned by its creator.

From bank_accounts: the balance and the members (users). An account of type shared becomes a shared account owned by its citizenid; job and gang accounts fill the society account of the same name.

From management_funds: each job's and gang's balance.

From okokbanking_societies: each society's balance.

On ESX, addon_account_data is read for its society_* rows only when esx_addonaccount is not running. While it runs, the balances stay in it and there is nothing to import; see ESX.

What keeps working

Each bank's exports are answered under its own name, so exports['Renewed-Banking']:getAccountMoney('police') reaches lation banking. Exports a script calls with a society name accept the job or gang name, or the same with a society_ prefix (see account names).

ExportWhat lation banking does
handleTransaction(account, title, amount, message, issuer, receiver, transType, transID)Writes the line into the account's history (the caller already moved the money). transType withdraw is money out, anything else money in. Returns Renewed's transaction table.
getAccountMoney(account)The balance, or false when there is no such account
addAccountMoney(account, amount)Credits the account; false when there is no such account
removeAccountMoney(account, amount)Debits it; false when the balance can't cover it or the account is frozen
GetJobAccount(jobName)Renewed's account table (id, type, name, amount, frozen, auth, creator), or nil
CreateJobAccount(job, initialBalance)Opens a society account for job.name, named job.label. One that exists is returned as it is.
addAccountMember(account, member)Adds a member with deposit, withdraw and transfer
removeAccountMember(account, member)Removes a member
getAccountTransactions(account)The newest 100 lines in Renewed's shape, or false for an account nobody has
changeAccountName(account, newName)Changes the display name. The id stays, so every existing reference keeps working.

The money exports answer for the accounts the bank keeps (society, shared, savings and business); a player's identifier gets false, since personal money is the framework's. Renewed-Banking also stood in for qb-management, and those exports are answered under the qb-management name.

Client eventWhat lation banking does
Renewed-Banking:client:openBankUIOpens the bank, or the ATM view when passed { atm = true }
Renewed-Banking:client:sendNotificationShows the message as a notification

On ESX, Renewed also stood in for esx_society. lation banking does not: there the society balance lives in esx_addonaccount, which esx_society reads and writes directly, so with lation banking alone the real esx_society stays installed and keeps working. With lation jobs, remove esx_society: lation jobs stands in for it. See ESX.

ExportWhat lation banking does
GetAccount(name), GetGangAccount(name)qb-banking's row: account_name, account_balance, account_type (job, gang or shared), citizenid, users; nil when there is none
GetAccountBalance(name)The balance, or 0
AddMoney(name, amount, reason), AddGangMoney(...)Credits the account, opening a society account first if there is none. The reason is kept as the history note.
RemoveMoney(name, amount, reason), RemoveGangMoney(...)Debits it; false when the balance can't cover it
CreateJobAccount(name, balance), CreateGangAccount(...)Opens a society account. One that exists keeps its balance.
CreatePlayerAccount(playerId, accountName, balance, users)Opens a shared account under accountName, owned by that player, with the listed members; false when the name is taken
CreateBankStatement(playerId, account, amount, reason, statementType, accountType)Writes a line into the history; the caller already moved the money. accountType player writes it on the player's own account, and statementType deposit is money in.
ExportWhat lation banking does
GetAccount(name), GetGangAccount(name)The society balance, or 0
AddMoney(name, amount), AddGangMoney(...)Credits it, opening the society account first if needed
RemoveMoney(name, amount), RemoveGangMoney(...)Debits it; false when the balance can't cover it

qb-management itself can stay installed: it is a boss menu and a stash and holds no money. lation jobs replaces its boss menu if you want that too.

Export or eventWhat lation banking does
GetAccount(society)The society balance, or 0
AddMoney(society, value)Credits it; false when there is no such account
RemoveMoney(society, value)Debits it; false when the balance can't cover it
AddTransaction(identifier, transactionData, source)Writes a history line for a move the caller already made, from value, type, reason, sender_name and receiver_name. A type of withdraw, transfer_out or expense is money out.
GetPlayerTransactions(identifier, limit)The newest lines, up to 1000 when limit is left out
Server event okokBanking:AddNewTransactionWrites both sides of a player-to-player transfer another script already made: (receiverName, receiverIdentifier, senderName, senderIdentifier, value, reason). A local server event; clients can't fire it.
Client event okokBanking:OpenATMOpens the ATM view

Every move made through these exports lands in the account's history and names the calling resource in the admin ledger. A line written for a move the framework already tracked (see Track other scripts' bank moves) fills in that line instead of adding a second. They skip the checks made for players, such as transfer limits and Hooks.canTransact.

Account names

Other banks name society accounts after the job or gang. lation banking does the same, and strips a society_ prefix, so police, society_police and an ESX script asking for society_police all reach the same account.

ESX

With esx_addonaccount running, each society balance stays in its society_<job> vault and lation banking is the bank over it: on every start it reads each vault's balance, and it opens a vault account for a job that has none. Job scripts that read and write the vault directly keep working, and their moves show up in the society's history as Payment received or Payment. A write that fires no event, such as esx_society's money-wash payout, is caught within a minute, and before any payment from that account. Freezing a society account in /bankadmin only blocks money moved through lation banking.

Keep esx_addonaccount and esx_society when lation banking runs on its own. With lation jobs, remove esx_society and set nothing: lation jobs provides it, so the scripts that need it still start and find their society. Keep esx_addonaccount either way, since the money stays in it, and esx_datastore if a job uses a society garage.

ESX has no gangs, so there are no gang accounts.

Still stuck? Ask in our Discord: the people who write the scripts answer.

Last updated November 10, 2026

lation banking

lation banking is a bank for FiveM with personal, savings, shared, society and business accounts, bills between players and businesses, loans, ATMs and a register, set up in game and answering the exports of the bank it replaces.

Admin panel and commands

The lation banking commands and who can use them, and what the /bankadmin panel shows and does, page by page.

On this page

SwitchingHow balances come acrossWhat keeps workingAccount namesESX
lation scripts

FiveM scripts for Qbox, QBCore and ESX servers, made to look and work like one product.

store

  • all scripts
  • membership
  • classics

help

  • docs
  • discord
  • email support

legal

  • terms
  • refunds
  • privacy
© 2026 Lation Labslationscripts.com
  • home
  • scripts
  • membership
  • docs