Installation
of_billing needs a database. A phone and a framework are optional, and both are detected or set in one line.
Requirements
| Resource | Required | Notes |
|---|---|---|
| oxmysql | Yes | Database access |
| Phone | Optional | lb-phone, sd-phone or qs-smartphone. Falls back to a standalone window |
| Framework | Optional | QBCore or ESX. Standalone works with reduced features |
Steps
Drop of_billing in your resources folder
Head to Portal CFX and download the latest version, then extract it into your resources folder. The UI ships prebuilt in dist/, so there is no build step.
Ensure it after its dependencies
ensure mysql-async
ensure lb-phone # your phone, optional
ensure of_billingSet your framework
Config.Framework = "qb"Accepted values: qb, esx, standalone. There is no auto detection here.
Database
ledger_charges and ledger_job_settings are created on first start. To import billing.sql by hand instead, turn the automatic step off:
Config.AutoSQL = falseGrant admin access
The in-app panel for job settings is limited to admins.
| Framework | Check |
|---|---|
| ESX | Group admin or superadmin |
| Standalone | Ace ledger.admin |
add_ace group.admin ledger.admin allowStart the server
Open the phone and send your first invoice. The app installs itself for every player unless you turn Config.App.autoDownload off.
No app in the phone? Check the console for the registration line, and confirm the phone resource started before of_billing.
