[PAID] Utility Banking System - Modern ESX/QBCore Banking

Utility Banking System

A comprehensive banking solution for FiveM servers supporting both ESX and QBCore frameworks. This system features a modern UI, complete banking functionality, and seamless integration with your server’s economy.

TEBEX

Features

  • Dual Framework Support: Compatible with both ESX and QBCore
  • Modern UI: Sleek, responsive interface with customizable themes
  • Complete Banking Features:
    • Deposits and withdrawals
    • Money transfers between accounts
    • Detailed transaction history
    • Account statistics and information
  • Multiple Access Points:
    • ATMs throughout the map
    • Bank locations with NPC bankers
    • Target system integration (ox_target/qb-target)
  • Security Features:
    • Unique account numbers
    • Transaction verification
    • Detailed logging

Technical Information

  • Resource Usage: ~0.02ms idle, ~0.10ms during active use
  • Dependencies:
    • ESX or QBCore framework
    • oxmysql
    • ox_lib (optional for enhanced functionality)
  • Configuration: Easy setup through unencrypted config.lua
  • Code Quality: ~2,000 lines of optimized, well-commented code

Installation

  1. Import the SQL file to your database
  2. Configure the config.lua to your preferences
  3. Add to your server resources and start the script
  4. Enjoy a complete banking experience!

Elevate your server’s economy with this professional banking system that combines functionality, aesthetics, and performance.

UPDATED V2.0.0

TRANSLATION SYSTEM (MAJOR UPDATE)

  • Real-time translations – Changes in locales/en.lua are applied instantly
  • Full UI coverage – All UI texts are now handled through the translation system
  • Admin commands/reloadbanktranslations and /testbanktranslations
  • Full compatibility – Supports both ESX and QBCore frameworks

CRITICAL BUG FIXES:

  • ATM mode bug – UI now correctly switches back to standard banking mode
  • UI state cleanup – Complete UI state reset on close/reopen
  • Translation loading flow – Fixed server → client → UI translation loading
  • Duplicate reset calls – Removed duplicate function calls

STATISTICS (FULLY FUNCTIONAL)

  • Dashboard statistics – Total Deposits, Withdrawals (working correctly)
  • Account statistics – Total Transfers Sent/Received (working correctly)
  • Transaction summary – Total In/Out, transaction count (working correctly)
  • Time formats – “Just now”, “5 minutes ago” (fully translated)

UI IMPROVEMENTS:

  • All elements include data-translation attributes
  • Dashboard – Current Balance, Total Deposits, Total Withdrawals
  • Navigation menu – Dashboard, Deposit, Withdraw, Transfer, Account Info
  • All forms – Amount, Recipient, Player ID, Note fields
  • Buttons & labels – Deposit, Withdraw, Transfer, Send Money
  • Account section – Personal Info, Limits, Statistics, Security
  • Card display – Card Holder, Valid Thru, Utility Hub
  • ATM restrictions – Properly translated warnings and messages

TECHNICAL IMPROVEMENTS:

  • Server-sideLoadLocales() function for loading translations
  • Client-side – Proper translation delivery to the UI
  • JavaScripttranslateUI() function for automatic UI translation
  • Manifest – Properly configured for sale (escrow_ignore)
  • Debug logs removed – Clean production-ready output

WHAT CAN BE TRANSLATED (60+ KEYS):

  • Dashboard statistics & account information
  • All forms and buttons
  • Navigation menu and labels
  • Error messages and notifications
  • Time formats (minutes, hours, days)
  • ATM restrictions and warnings

  • :white_check_mark: Works with both ESX and QBCore
  • :white_check_mark: Reacts to changes in real time
  • :white_check_mark: Has fully functional statistics and translations
  • :white_check_mark: Is ready for sale
  • :white_check_mark: Contains no known bugs
Code is accessible No, config, locales only
Subscription-based No
Lines (approximately) 4 192
Requirements Esx or qbcore framework, oxmysql, ox_lib
Support Yes
6 Likes

just edit the fxmanifest lol

Good script! Especially since it’s free. Do you use any JS framework?

no, we don’t use any JavaScript framework for this banking system. It’s built with vanilla JavaScript, HTML, and CSS only. We decided to keep it lightweight and framework-free to ensure maximum compatibility and performance. This approach also makes it easier for other developers to understand and modify the code if needed.

Why not put on github when it’s free?

The local file is broken no matter what I do in it it stays with the old local

i have a patreon shared key, you don’t want to upload your script on github ?

Great Work bro!

Can you share your discod hub?!

[ script:utlt_banking] SCRIPT ERROR: ?:-1: attempt to call a nil value (field ‘GetIdentifierFromId’)

fixed :slight_smile:

[ script:es_extended] SCRIPT ERROR: @es_extended/server/modules/callback.lua:55: Server Callback with requestId utlt_banking:getPlayerData Was Called by utlt_banking but does not exist.
[ script:es_extended] > ServerRecieve (@es_extended/server/modules/callback.lua:55)
[ script:es_extended] > handler (@es_extended/server/modules/callback.lua:146)

???

New update comming soon…

1 Like

New update – details added to the original post.

Version V2.0.0 is now live with major translation system improvements, critical bug fixes, and fully functional UI statistics.
Please check the original post above for the full update overview and changelog.