JG Docs
Mechanic

Society Banking

Create and test the society accounts used by framework mechanic jobs

Use this page when Config.UseFrameworkJobs = true. The built-in job system uses JG Mechanic's own accounts and doesn't need a separate banking resource.

JG Mechanic uses the job from each owned mechanic location as its society account name. A location with job = "mechanic" needs a society account named mechanic.

JG Mechanic doesn't create accounts in third-party banking resources. Create an account for every unique mechanic job before taking work orders. Account names are case-sensitive.

Before you take work orders

Complete these checks for every owned mechanic location:

  1. Open config/config.lua and find the location's job value.
  2. Check that the same job exists in your framework.
  3. Create a society account with the exact job name in your banking resource.
  4. Start the banking resource before jg-mechanic in server.cfg.
  5. Set Config.SocietyBanking to "auto" or the exact supported value for your banking resource.
  6. Check that the account can return its balance, receive money and remove money.

Locations can share one account by using the same job. Repeat the account setup for every different job name.

JG Mechanic supports "okokBanking", "fd_banking", "Renewed-Banking", "tgg-banking", "wasabi_banking", "qb-banking", "qb-management" and "esx_addonaccount".

TGG Banking

  1. Give your account admin permission in TGG Banking.
  2. Open the banking interface and select Admin Actions.
  3. Create a society account.
  4. Set Society Name to the exact job from config/config.lua, such as mechanic. Display Name can be any player-facing name.

Repeat this for every unique mechanic job.

See the TGG Banking society account setup.

okokBanking

  1. Open okokBanking/config.lua.
  2. Find Config.Societies.
  3. Add every unique mechanic job. Keep your existing entries.

For current okokBanking versions, add the job and the grades that can manage its account:

okokBanking/config.lua
["mechanic"] = {0, 1, 2, 3, 4},

Replace mechanic with the exact job from config/config.lua. Older okokBanking versions may list society names without grades. Use the same format as the other entries in your installed version.

See the okokBanking configuration reference.

ESX

Follow ESX Framework Jobs to create the required esx_addonaccount records for every mechanic job.

Connect another banking resource

Setting an unsupported resource name in Config.SocietyBanking doesn't add support. Your banking resource needs server-side functions or exports that can:

  • return a society account's balance as a number
  • add money to a society account
  • remove money from a society account

Connect these operations to the following functions in framework/sv-functions.lua:

framework/sv-functions.lua
function Framework.Server.GetSocietyBalance(society, societyType)

function Framework.Server.PayIntoSocietyFund(societyName, societyType, amount)

function Framework.Server.RemoveFromSocietyFund(societyName, societyType, amount)

Test the account

Fully restart your server, then run these checks with a small paid work order:

  1. Open the mechanic tablet and check that it shows the society account's current balance.
  2. Place a paid work order and check that the same account receives the payment.
  3. Delete the unfulfilled work order and check that the payment is removed from the society account and refunded to the customer.

The society account needs enough money to refund the work order before it can be deleted.

Troubleshooting

Last updated 31 July 2026

On this page