DND Docs

Resourcesdnd_economyInstallation

Installation

Last updated on

  1. Drop dnd_economy into your resources folder.
  2. Install the required dependencies — see Dependencies.
  3. Import the database schema — see Database Setup (or just start the resource once; it auto-migrates on boot).
  4. Ensure the database migrations are applied. The resource includes migrations for all schema updates — no manual SQL needed. On first start, server/migrator.lua runs automatically and marks them applied. See Database Setup for details.
  5. Register each agency's stash in your inventory (dnd_eco_stash_<agencyId> by default — see Config.Agencies[id].stash.id) if your inventory resource requires stashes to be pre-registered.
  6. Configure config.lua — see Configuration.
  7. Add ensure dnd_economy to your server.cfg, after its dependencies.

Important: refresh, not just restart

When you pull a new version that adds or removes server-side Lua files (like v2.0.0, which added server/budget.lua and server/tax.lua), FiveM's manifest cache must be cleared before the resource loads those new files. Use:

refresh
ensure dnd_economy

A plain restart is not enough — it will load an outdated list of scripts and cause silent runtime errors (global variables like Tax or Budget staying nil). This only happens when the file list in fxmanifest.lua changes; routine config updates don't require it.

Optional integrations

All optional — the resource works without any of them, just with the related feature disabled.

  • Renewed-Banking — required for the Buy flow (Config.Banking.Enabled = true). Without it, buying stays effectively disabled (checked at the top of the purchase transaction) rather than silently discarding revenue. It's also what a bank-paid Sell/Buy mirrors its statement entry into (personal balance moves happen through the framework bridge either way — cash or bank).
  • dnd_jobmanagement — required for Config.Printer = 'dnd_jobmanagement' (auto-queues a printable document when staff accept a Buy order). Set Config.Printer = 'none' if you don't run it.
  • dnd_phone — if running, a bank-paid Sell/Buy also gets logged into the player's own mBanking → History via dnd_phone's exports.dnd_phone:RecordBankHistory, so it shows up on their phone, not just their balance. Silently skipped if dnd_phone isn't installed.

On this page