Troubleshooting Guide
Common issues and current fixes for oxide-banking.
Common problems and how to fix them. For most issues, start by checking the server console (F8 on the client, or your server window) for red error messages mentioning oxide-banking.
The Resource Won't Start
"Couldn't find dependency" error
Banking needs its dependencies started first. Check the order in your server.cfg:
ensure ox_lib
ensure oxmysql
ensure o-link
ensure oxide-bankingDatabase errors on startup
You probably haven't run the install script yet. Run sql/install.sql against your database (with HeidiSQL, phpMyAdmin, etc.), then restart the resource.
The Bank Won't Open
Nothing happens at the bank
Check, in order:
- Are you standing at one of the banks listed in
Config.BankLocations? - Is
Config.UseTargetright for your server? If it'strue, you need a working targeting resource (ox_target). If you don't run one, set it tofalseto use walk-up key prompts instead. - Did another banking resource also start? Remove or disable your old banking script (e.g.
qb-banking) — two banking systems will fight over the same name.
The screen opens but is blank
The interface ships pre-built in web/dist. A blank screen usually means that folder is missing or incomplete — re-copy the resource from your purchase. If you edited files under web/src yourself, you need to rebuild the interface before testing.
ATM Or Card Problems
ATM says you have no card
- Did you add the
bank_carditem to your inventory system? This is a required install step — see "Add the bank card item" in Installation. - Does the player actually have a bank card? Cards are ordered at a bank branch first.
- Check the server console for inventory errors when the player uses the ATM.
PIN keeps getting rejected
- Make sure the card isn't frozen or cancelled (players can check in the bank's card menu).
- Too many wrong PINs locks the account for a few minutes (
Config.Security.MaxLoginAttemptsandLockoutDuration). - If the player forgot the PIN, they can order a replacement card with a new PIN at a bank.
Money Or Data Problems
A player's banking data doesn't load
- Make sure
o-linkstarted without errors — it's how banking talks to your framework. - Make sure the install SQL ran completely (all
bank_*tables should exist in your database).
Job accounts are missing
Job accounts are created automatically from the jobs your framework defines. If a job account is missing, the job probably doesn't exist in your framework's job list — add the job there first, then restart oxide-banking.
Transfers to offline players fail
Check the server console for errors when it happens. Banking uses your framework's offline-money support through o-link; if your framework setup is heavily customized, offline character lookups may be failing.
Interest Or Scheduled Tasks Look Wrong
Banking runs on its own schedule based on your server's real clock — not the in-game time of day. One "banking day" passes at midnight server time while the server is running.
If daily processing seems off:
- Run
/schedulerstatus(as admin) to see the current banking day and schedule state. - Use
/forcedayincrementto push the schedule forward one day and run all daily tasks — useful for testing. - Review the intervals in
Config.TimeSettings(Configuration explains each one).
Missing Or Broken Text
Players see raw labels like error_bank_error instead of messages
A locale key is missing or the JSON file has a typo:
- Make sure the JSON file in
locales/is valid (a missing comma breaks the whole file — paste it into an online JSON checker if unsure). - If you added your own language file, every key from
locales/en.jsonmust exist in it too. - Check the server console for locale loading errors on startup.
Conflicts With Other Resources
An older script expects qb-banking
That's fine — oxide-banking answers to the qb-banking name and keeps the old exports and callbacks working. If a legacy script still fails:
- Confirm
oxide-bankingis started and the realqb-bankingresource is removed (they can't both run). - Check API Reference to confirm the export the script uses still exists.
ESX society balances look out of sync
On ESX, banking mirrors job accounts with esx_addonaccount society accounts (job police ↔ society_police):
- Make sure
esx_addonaccountstarts beforeoxide-banking. - Confirm the job account name matches the society name (job
policeneedssociety_police). - Turn on
Config.Debugand look forESX bridge: syncedlines in the console at startup — each one is a society account being linked.
Still Stuck?
- Turn on
Config.Debugtemporarily and reproduce the problem — the console output usually points at the failing step. Turn it back off afterward. /viewplayeraccounts,/viewjobaccount, and/schedulerstatushelp narrow down whether the problem is accounts, jobs, or the schedule.