nc-banking

$50 $25 Early Access | Purchase on Tebex | Discord Support

A full-featured banking system for FiveM with NPC dialog, ATM 3D overlay, multi-account management, loans, credit scoring, multi-language support, and modern Vue 3 UI.

Overview

nc-banking provides a complete banking experience with an immersive NPC dialog system, 3D ATM UI overlays, and comprehensive financial management — from basic deposits to credit-scored loans. Built with Vue 3 + Vite for a modern, responsive NUI.

Key Features

  • NPC Bank Tellers — Interactive dialog with camera animation at 8 bank locations (17 NPCs)
  • 3D ATM Overlay — Model-calibrated NUI buttons rendered on ATM screens
  • Multi-Account System — Main, Personal, Savings, Business, Shared accounts
  • Loan System — Credit-score-based loans with auto-pay, grace periods, penalties
  • Invoice / Billing — Send, receive, pay invoices; job billing auto-deposits to business accounts
  • Bank Card System — Account-linked cards with inventory item + DB dual tracking
  • PIN Security — SHA-256 hashed PINs with lockout protection
  • Admin ATM Spawner — Keyboard-based 3D placement with wall snap & DB persistence
  • Transfer Security — Cooldown, brute-force protection, offline transfer policy, account number auto-prefix
  • Dual Transfer Mode — Transfer by Account Number or Server ID across ATM, NPC, and Billing App
  • Auto Business Accounts — Configurable jobs auto-create business accounts on server start
  • Multi-Framework — QBCore, QBox, ESX, OX Core auto-detection
  • Multi-Inventory — ox_inventory, qb-inventory, qs, ps, codem, core_inventory
  • Multi-Language (i18n) — English, German, Spanish, French, Portuguese (extensible)
  • Modern NUI — Vue 3 SFC + Vite with 4 modular apps (Dialog, ATM, Bank, Billing)

Requirements

ResourceRequiredNotes
ox_libāœ…Callbacks, UI utilities
oxmysqlāœ…Database driver
Frameworkāœ…QBCore / QBox / ESX / OX Core (one of)
Target SystemāŒox_target / qb-target / qtarget (falls back to E key)
InventoryāŒNeeded only if BankCard.useInventory = true

Quick Start

ensure oxmysql ensure ox_lib ensure qb-core # or es_extended, ox_core, qbx_core ensure nc-banking

āš ļø nc-banking must start after your framework and ox_lib.

Supported Frameworks

FrameworkBridgeAuto-Detect
QBCorebridge/frameworks/qbcore.luaāœ…
QBoxbridge/frameworks/qbox.luaāœ…
ESXbridge/frameworks/esx.luaāœ…
OX Corebridge/frameworks/ox.luaāœ…

The framework is auto-detected at startup. You can also set it manually via Config.Framework.

Feature Summary

CategoryFeaturesStatus
BankingBalance, Deposit, Withdraw, Transfer, Transaction History, Statsāœ…
PINSHA-256 hash, attempt limit, lockout, changeāœ…
SavingsCreate, deposit, withdraw, close, interest, goalsāœ…
PersonalSub-accounts without interestāœ…
BusinessJob-linked, boss-managed accountsāœ…
SharedMulti-user joint accounts with owner/member rolesāœ…
LoansApply, repay, auto-pay, grace period, late penalty, default, calculatorāœ…
Credit Score300–850 score, 7 factors, 5 tiers affecting loan termsāœ…
InvoicesSend, receive, pay, decline, bulk pay, auto-expire, job billing → business accountāœ…
Billing AppStandalone NUI, keybind (F6), transfersāœ…
Bank CardsAccount-linked, inventory item + DB, useInventory toggle, transferable cardsāœ…
NPC DialogCamera animation, configurable options tree, typing effectāœ…
ATM3D NUI overlay, model presets, PIN pad, calibrationāœ…
ATM SpawnerKeyboard placement (Q/E/Z/C/F/G), wall snap (left click), DB persistence, blipsāœ…
External UI ToggleAuto-hide other resource UIs when banking opensāœ…
Auto Business AccountsConfigurable auto-create on server start + isBoss owner updateāœ…
Transfer SecurityCooldown, brute-force protection, offline policy, account number auto-prefixāœ…
Dual Transfer ModeAccount Number + Server ID toggle in ATM, NPC dialog, and Billing Appāœ…
Auto DB SetupSchema install + upgrade migrations on first startāœ…
Multi-Language5 locales (en, de, es, fr, pt) with server + NUI i18nāœ…

File Structure

nc-banking/ ā”œā”€ā”€ fxmanifest.lua ā”œā”€ā”€ atm_coords.json # ATM calibration data (auto-generated) ā”œā”€ā”€ config/ │ └── config.lua # All configuration ā”œā”€ā”€ bridge/ │ ā”œā”€ā”€ loader.lua # Auto-detect framework & load bridge │ └── frameworks/ │ ā”œā”€ā”€ qbcore.lua # QBCore bridge │ ā”œā”€ā”€ qbox.lua # QBox bridge │ ā”œā”€ā”€ esx.lua # ESX bridge │ └── ox.lua # OX Core bridge ā”œā”€ā”€ shared/ │ ā”œā”€ā”€ utils.lua # Shared utility functions │ └── locale.lua # Server-side i18n system ā”œā”€ā”€ locales/ │ ā”œā”€ā”€ en.lua # English │ ā”œā”€ā”€ de.lua # German │ ā”œā”€ā”€ es.lua # Spanish │ ā”œā”€ā”€ fr.lua # French │ └── pt.lua # Portuguese ā”œā”€ā”€ server/ │ ā”œā”€ā”€ main.lua # Server logic │ └── discord.lua # Discord webhook logging ā”œā”€ā”€ client/ │ ā”œā”€ā”€ main.lua # Client core │ ā”œā”€ā”€ billing.lua # Billing phone app │ ā”œā”€ā”€ atm_spawn.lua # Admin ATM spawner (keyboard + wall snap) │ └── atm_calibration.lua # ATM screen calibration ā”œā”€ā”€ html/ # Built NUI output │ ā”œā”€ā”€ index.html │ ā”œā”€ā”€ assets/ # Vite build output (JS/CSS) │ ā”œā”€ā”€ card.png / dollar.png │ └── money-counter.ogg / money-counter-end.ogg └── sql/ └── install.sql # Database schema (13 tables)

Database Tables

TablePurpose
nc_banking_accountsPlayer accounts (PIN, lockout)
nc_banking_transactionsTransaction log (24 types)
nc_banking_savingsSavings accounts
nc_banking_savings_goalsSavings goals
nc_banking_interest_historyInterest payout log
nc_banking_personalPersonal sub-accounts
nc_banking_businessJob-linked business accounts
nc_banking_sharedShared joint accounts
nc_banking_shared_membersShared account members
nc_banking_loansLoans
nc_banking_invoicesInvoices / bills
nc_banking_atmsAdmin-spawned ATMs
nc_banking_cardsIssued bank cards

Support