Dependencies
Start required dependencies and any selected optional providers before wasabi_billing.
Requiredβ
| Dependency | Purpose |
|---|---|
| ox_lib | Manifest dependency; callbacks, locales, commands, keybinds, notifications, and module utilities |
| oxmysql | Manifest dependency; SQL queries and automatic schema setup |
| A working framework bridge | Persistent character identity, player money, jobs, permissions, and offline money handling |
Built-in framework adapters:
- ESX β
es_extended; characters inusers, identified byidentifier, withaccountsJSON. - QBCore β
qb-core; characters inplayers, identified bycitizenid. Offline money uses QBCore's offline-player API and save function. - QBOX β
qbx_core; characters inplayers, identified bycitizenid. Offline money uses QBOX's offline-player API and the player's save function. The QBCore billing bridge skips itself when QBOX is detected. - Custom β Implement
bridge/framework/custom/server.lua. The supplied stub returns no working balances or money mutations and is not a ready-to-use framework-free mode.
Only ox_lib and oxmysql are declared as manifest dependencies; the framework is an operational requirement. A separate wasabi_bridge resource is not required.
Optional: society bankingβ
Config.BankingIntegration = 'auto' selects the first detected backend in this order:
wasabi_bankingqb-bankingokokBankingRenewed-Bankingqb-managementfallback, using theqb-bankingadapter- ESX
frameworkshared-account backend whenes_extendedis detected none
| Backend value | Setup notes |
|---|---|
wasabi_banking | Configure existing society accounts. Optional statement mirroring uses Config.LogTransactionsToBanking. |
qb-banking | Current society exports; older versions use qb-management. Ensure that management resource exists when using the older API. |
okokBanking | Requires its society balance/add/remove exports and the corresponding accounts. |
Renewed-Banking | Requires its society account balance/add/remove exports and the corresponding accounts. |
framework | ESX only: requires working esx_society:getSociety and esx_addonaccount:getSharedAccount handlers. Start esx_society and esx_addonaccount and register the society/shared accounts. |
none | No society invoicing or settlement. Personal-to-personal invoicing still uses framework cash/bank. |
The backend is selected at startup, not on every payment. A forced backend that is absent only produces a warning; it is not automatically replaced with a working one. Restart billing after provider changes. On ESX without society resources, explicitly select none rather than relying on automatic detection.
Billing does not create society bank accounts. Confirm the issuing, receiving, and optional VAT societies all exist in your chosen provider.
Optional: physical invoice inventoryβ
Set Config.InvoiceItem = false to disable physical copies and omit inventory setup. Otherwise, register the item and start a supported inventory.
Automatic inventory priority is:
jaksam_inventory β ox_inventory β qb-inventory β ps-inventory β codem-inventory β tgiann-inventory.
| Inventory | Usable-item integration |
|---|---|
ox_inventory | Dynamic server item export, by default wasabi_billing.invoice |
jaksam_inventory | Native usable-item registration; normalizes ESX/QB metadata shapes |
qb-inventory, ps-inventory | Uses qb-core:GetCoreObject() and QBCore usable-item registration |
codem-inventory, tgiann-inventory | Item add/remove adapters are included; the supplied usable-item registration requires a started qb-core export surface |
Do not assume every inventory/framework combination is interchangeable. In particular, a QBOX installation using a QB-style adapter needs the QBCore-compatible export surface that adapter calls. See Installation for item definitions.
Optional: notifications and loggingβ
- Notifications auto-select
wasabi_notify, thenwasabi_uikit, thenlation_ui, thenox_lib. SetConfig.NotificationSystemto force a supported provider; start that provider first. - Discord logging requires webhook URLs in the server configuration.
Config.Logger.type = 'ox'forwards tolib.logger; configure the logger provider through ox_lib.
UI assetsβ
The manifest serves ui/build/index.html. A release package must contain ui/build/ and its assets. Source distributions without the compiled directory need a Node.js/npm UI build before use; see Installation.