Business Ledger
Version 1.0.2. The listing, or pick it up in the shop and run it.
Business Ledger
Business Ledger gives every business on your server one tablet that runs the register, the stock room, the prices, the payroll and the profit and loss, so owners make their calls off real numbers. Player businesses usually die the same way: the owner can't tell if they're making money, stock runs out mid-shift, and the books live in somebody's notepad.

What you get
- A register: employees build a ticket from the menu, pick a nearby customer and send the bill. The customer sees exactly what they're paying for and pays cash or card, or declines. Items go straight into their inventory.
- Stock that costs money: managers order wholesale stock from the business account. Cost is tracked as a weighted average, so profit is figured from what you paid for the stock on the shelf, whatever today's price is.
- Prices with guardrails: managers set prices inside a range you control (never below cost, capped at a markup you pick), so nobody sells an asinine $5,000 burger or sells at a loss by accident.
- Commission payroll: each sale pays the employee who rang it up a cut of the sale, set per business, straight to their bank.
- Profit and loss: revenue, gross profit and margin, commissions, net profit and stock spending for 24 hours, 7 days or 30 days. It also shows which items make money and a 14 day revenue chart.
- A business account: bosses deposit and withdraw, and every movement lands in a ledger with who did it and when.
- Roles: register staff see the register and their own sales, managers also get stock, pricing and the books, and bosses also get staff numbers and the account.
- Framework support: ESX Legacy, Qbox and QBCore with ox_inventory, qb-inventory or the ESX inventory.

Works with Economy Pulse
Run both and they share data. Wholesale costs follow Economy Pulse's live prices, so when your economy runs hot, suppliers charge more too and businesses have to price for it. Also, every customer payment, commission and owner withdrawal shows up on the Economy Pulse dashboard as its own flow, so you can see how much money businesses soak up and how much they push back out.
Requirements
- ESX Legacy, Qbox or QBCore
- oxmysql
- OneSync (the register checks distance on the server)
- ox_inventory, qb-inventory or the ESX inventory
Install
- Unzip so that
resources/business_ledger/fxmanifest.luaexists (notresources/business_ledger-v1.0.1/business_ledger/..., which Windows "Extract All" creates), then addensure business_ledger. Start order doesn't matter for the framework: it waits up to 30 seconds for it and prints what it found. - Set up your businesses in
config.lua. Each one needs the framework job name, the grades that can manage it and run it as boss, and the items it sells. Item names have to exist in your inventory. - Start the server. The tables create themselves.
- Employees open the tablet with
/business.
Setting up a business
burgershot = {
label = 'Burger Shot',
job = 'burgershot', -- framework job name
manageGrade = 2, -- this grade and up can order stock and set prices
bossGrade = 4, -- this grade and up (or isboss / 'boss') sees the account
commission = 0.10, -- 10% of each sale goes to whoever rang it up
startingBalance = 5000, -- the account's opening balance, first start only
items = {
burger = { label = 'Bleeder Burger', cost = 6, price = 15, reorderAt = 20 },
},
},
cost is the wholesale price, price is the starting shelf price and reorderAt is the stock level that flags an item as low. minPrice and maxPrice on an item override the default price range.
Exports
exports.business_ledger:GetBalance('burgershot') -- business account balance
exports.business_ledger:GetStock('burgershot', 'burger') -- units on the shelf
Escrow
The core is encrypted with Cfx asset escrow. These stay open so you can adapt them: config.lua, server/bridge.lua (all framework and inventory code lives there) and sql/install.sql.
Support
Open a ticket in the Discord with your framework, inventory, oxmysql version and the server console output from startup.