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

Resource Required Notes
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

Framework Bridge Auto-Detect
QBCore bridge/frameworks/qbcore.lua
QBox bridge/frameworks/qbox.lua
ESX bridge/frameworks/esx.lua
OX Core bridge/frameworks/ox.lua

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

Feature Summary

Category Features Status
Banking Balance, Deposit, Withdraw, Transfer, Transaction History, Stats
PIN SHA-256 hash, attempt limit, lockout, change
Savings Create, deposit, withdraw, close, interest, goals
Personal Sub-accounts without interest
Business Job-linked, boss-managed accounts
Shared Multi-user joint accounts with owner/member roles
Loans Apply, repay, auto-pay, grace period, late penalty, default, calculator
Credit Score 300–850 score, 7 factors, 5 tiers affecting loan terms
Invoices Send, receive, pay, decline, bulk pay, auto-expire, job billing → business account
Billing App Standalone NUI, keybind (F6), transfers
Bank Cards Account-linked, inventory item + DB, useInventory toggle
NPC Dialog Camera animation, configurable options tree, typing effect
ATM 3D NUI overlay, model presets, PIN pad, calibration
ATM Spawner Keyboard placement (Q/E/Z/C/F/G), wall snap (left click), DB persistence, blips
External UI Toggle Auto-hide other resource UIs when banking opens
Auto Business Accounts Configurable auto-create on server start + isBoss owner update
Transfer Security Cooldown, brute-force protection, offline policy, account number auto-prefix
Dual Transfer Mode Account Number + Server ID toggle in ATM, NPC dialog, and Billing App
Auto DB Setup Schema install + upgrade migrations on first start
Multi-Language 5 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
├── web/                           # Vue 3 + Vite NUI source
│   ├── vite.config.js
│   ├── src/
│   │   ├── main.js                # Vue app entry
│   │   ├── apps/
│   │   │   ├── DialogApp.vue      # NPC dialog UI
│   │   │   ├── AtmApp.vue         # ATM overlay UI
│   │   │   ├── BankApp.vue        # Main banking UI
│   │   │   └── BillingApp.vue     # Billing/invoice UI
│   │   ├── utils/
│   │   │   ├── bridge.js          # Lua ↔ NUI message router
│   │   │   └── locale.js          # NUI-side i18n
│   │   └── styles/
│   │       └── global.css
│   └── public/
├── 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

Table Purpose
nc_banking_accounts Player accounts (PIN, lockout)
nc_banking_transactions Transaction log (24 types)
nc_banking_savings Savings accounts
nc_banking_savings_goals Savings goals
nc_banking_interest_history Interest payout log
nc_banking_personal Personal sub-accounts
nc_banking_business Job-linked business accounts
nc_banking_shared Shared joint accounts
nc_banking_shared_members Shared account members
nc_banking_loans Loans
nc_banking_invoices Invoices / bills
nc_banking_atms Admin-spawned ATMs
nc_banking_cards Issued bank cards

Support

Last updated 1 month ago