JR DOCS/JR Business Jobs
BASE DE CONOCIMIENTO OFICIAL

JR Business Jobs

Guías de instalación, configuración y soporte para los recursos de JR Shops.

← VOLVER A DOCUMENTATION
BUSINESSES · JR SHOPS

JR Business Jobs

Creación de negocios, zonas, recetas, almacenes, pedidos y puntos de cobro.

DOCUMENTACIÓN COMPLETA
DOC IDJR-BJ-03VERSION / LATEST
01 · OVERVIEW

JR Business Jobs

JR Business Jobs is a configurable business and job system for FiveM servers. It allows you to create work zones, recipes, storage areas, billing points, and customer orders from an in-game panel without duplicating code for every business.

The resource uses JR_Bridge as its compatibility layer. Framework, inventory, target, notifications, progress bar, and society providers are configured in the Bridge, while JR Business Jobs automatically uses the active providers.

This guide applies to the stable v0.2.0 release. Development changes that do not have an official release tag are not included in the public documentation.

Main features

  • In-game administration panel.
  • Businesses, zones, and recipes stored in JSON.
  • Crafting with ingredients, quantities, images, and final products.
  • Support for preparing multiple items in a single action.
  • Configurable animations and props for each zone type.
  • Job and on-duty permissions.
  • Optional support for business systems such as origen_masterjob through JR_Bridge.
  • Private storage for each business.
  • Customer orders and configurable rewards.
  • Billing and payment points.
  • Server-side security validation.
  • Provider logs and diagnostics.

02
BEFORE YOU START

Before installation

Configure JR_Bridge first. JR Business Jobs does not directly select the framework or any other external resource.

RequirementStatusPurpose
JR_BridgeRequiredConnects the script to all external providers.
Compatible frameworkRequiredProvides player, job, duty, permission, and money functions.
Compatible inventoryRequiredChecks, removes, and gives items; it also manages storage.
Compatible targetRequiredCreates interaction points in the world.
Progress barRequired for craftingHandles preparation time, animations, and props.
NotificationsRecommendedDisplays results and errors to players.
Society systemOptionalReceives income from recipes, invoices, and orders.
origen_masterjobOptionalAllows the Bridge integration to check businesses and employees.

The resource does not require its own SQL import. Businesses are stored in data/businesses.json.


03
INSTALLATION

Installation

1. Install the resource

Place the resource folder inside your server resources directory using this exact name:

JR-BusinessJobs

2. Configure JR_Bridge

Open JR_Bridge/config.lua and select the providers used by your server. You can choose specific providers or use the automatic detection available in the Bridge.

Check the following providers carefully:

  • Framework.
  • Inventory.
  • Target.
  • Notifications.
  • Progress bar.
  • Society, if you want business income.

3. Check your items

Every ingredient and final product used in a recipe must exist in the active inventory. Item names must match exactly, including uppercase and lowercase letters when the inventory treats them differently.

4. Configure the start order

JR Business Jobs must start after JR_Bridge, and the Bridge must start after its providers.

Example for a QBCore server:

ensure qb-core
ensure qb-target
ensure qb-inventory
ensure progressbar

ensure JR_Bridge
ensure JR-BusinessJobs

Replace the example resources with the providers actually configured in JR_Bridge. If you use a society system or origen_masterjob, start it before the Bridge as well.

5. Start the resource

Restart the server or run the following command from the server console:

restart JR-BusinessJobs

On startup, the console banner displays the version, language, detected providers, and number of loaded businesses. Check this banner before troubleshooting an integration.


04
CONFIGURATION · USAGE · INTEGRATIONS

Basic configuration

General settings are located in config.lua.

Config.Debug = false
Config.UseMasterJobs = true
Config.RequireOnDuty = true
Config.AdminCommand = 'jrjobs_admin'
Config.DebugCommand = 'bcraft_debug'
Config.DefaultDistance = 2.0
Config.MaxCraftQuantity = 10
Config.DataFile = 'data/businesses.json'
Config.UseJsonBusinesses = true
OptionDescription
Config.DebugEnables visual boxes and additional diagnostic messages.
Config.UseMasterJobsEnables the active business integration from JR_Bridge.
Config.RequireOnDutyRequires employees to be on duty.
Config.AdminCommandCommand that opens the administration panel.
Config.MaxCraftQuantityMaximum number of units that can be prepared at once.
Config.DataFileFile used to store created businesses.

Administration permissions

The server validates administration permissions through JR_Bridge and the local configuration:

Config.AdminPermission = {
    groups = { 'admin', 'god', 'mod' },
    acePermissions = { 'command.jrjobs_admin' },
    identifiers = {}
}

You can grant access by group, ACE permission, or identifier. Do not publish private identifiers in public documentation.

Visual customization

The menu header is configured through Config.Branding:

Config.Branding = {
    name = 'JR Business Jobs',
    shortName = 'JR',
    subtitle = 'Business and crafting system',
    links = {
        { label = 'Discord', url = 'https://discord.gg/your-server' },
        { label = 'Store', url = 'https://your-store.tebex.io/' }
    }
}

Empty links or links that do not use https:// are not displayed.


Creating a business

Open the administration panel in game:

/jrjobs_admin

Step 1. Business details

Select the option to create a business and complete the following fields:

  • Internal name: A short, unique identifier without spaces.
  • Display name: The name shown to players.
  • Job: The exact framework job or integrated business name.
  • Status: The business must be enabled before its zones can be registered.

Step 2. Create a zone

Each business can have multiple zones. Select the zone type and configure its name, position, size, rotation, and interaction distance.

The panel can use the administrator's current position to fill in the coordinates.

Available zone types:

TypeTypical use
fryerFryer.
grillGrill or cooking station.
cuttingCutting and ingredient preparation.
drinksBar, drinks, or coffee machine.
packagingProduct packaging.
storageBusiness storage.
billingInvoice creation.
paymentPayment of pending invoices.

Step 3. Create recipes

Add the available recipes inside a work zone. Each recipe requires:

  • Display name.
  • Final item and amount given.
  • Required ingredients and amount of each ingredient.
  • Preparation duration.
  • Animation or preset, if you want to customize it.

The panel checks item names through the configured inventory provider. Correct any warning before saving.

Step 4. Save your changes

Select Save business and refresh points. The server writes the data to:

data/businesses.json

Targets are refreshed while the resource is running. A restart is normally not required after saving.

Back up data/businesses.json before updating the resource. Do not replace this file with an empty copy if you already have businesses configured.


Player usage

  1. The player goes on duty with the corresponding job.
  2. The player approaches a zone and uses the target interaction.
  3. They select a recipe from the visual menu.
  4. They review the final product, available ingredients, and maximum quantity.
  5. They select how many units they want to prepare.
  6. They select Prepare and wait for the progress bar to finish.
  7. The server validates the recipe again, removes the ingredients, and gives the final product.

The interface refreshes after crafting to display the new quantities without closing the menu.

Storage

A zone with storage enabled opens a stash through the active inventory provider. The server validates the business, job, duty status, and distance before allowing access.

Customer orders

Zones with customer orders enabled can generate product requests. The employee prepares and delivers the requested items to receive the configured reward.

Active orders are stored in memory and are cleared when the resource restarts.

Billing and payments

billing zones allow employees to create an invoice with a description, amount, and optional customer. payment zones display the business's pending invoices.

When an invoice is paid, the server tries the player's bank account first and then cash. If a compatible society integration is available, the payment is deposited into the business account.

Current pending invoices are stored in memory and are cleared when the resource restarts.


Integrations

JR Business Jobs does not include duplicate adapters for every framework or inventory. All external calls go through JR_Bridge.

SystemHow it is used
FrameworkPlayer, job, duty status, permissions, and personal accounts.
InventoryItems, capacity, item delivery and removal, images, and storage.
TargetInteractive business zones.
Progress barDuration, animation, cancellation, and props.
NotificationsSuccess, error, and information messages.
SocietyIncome from recipes, orders, and invoices.
LogsRecords actions and invalid attempts.
MasterJobsOptional validation of businesses and on-duty employees.

To change an integration, update the corresponding provider in JR_Bridge/config.lua, restart the Bridge, and then restart JR Business Jobs.

Commands

CommandPermissionDescription
/jrjobs_adminAdministratorOpens the panel used to create, edit, and delete businesses.
/bcraft_debugDiagnosticsDisplays the player's job, duty, and integration information. Requires Config.Debug = true.
/jrjobs_perms [id]Administrator or consoleDisplays the permission diagnostics for the selected player.

The names of the first two commands can be changed in config.lua.


Security

The interface does not decide whether a player can craft an item. The server validates the following information again:

  • Job and duty status.
  • Business, zone, and recipe.
  • Actual distance from the zone.
  • Inventory ingredients and capacity.
  • Minimum preparation time.
  • Temporary token and anti-spam protection.
  • Player state, vehicle, death, or handcuff status according to the configuration.

Do not remove these validations to work around a configuration issue.


Updating the resource

Before installing a new version:

  1. Back up config.lua.
  2. Back up data/businesses.json.
  3. Read the changelog for the new version.
  4. Copy the new files without losing your business data.
  5. Check whether new options were added to config.lua.
  6. Restart JR_Bridge and then JR-BusinessJobs.
  7. Check the startup banner and complete a test craft.

Do not combine an old copy of client/main.lua or server/main.lua with an interface from another version.


05
TROUBLESHOOTING · SUPPORT

Common errors

The target does not appear

  • Make sure the target provider starts before JR_Bridge.
  • Check the provider shown in the startup banner.
  • Confirm the zone coordinates, size, rotation, and distance.
  • Make sure the business and zone are enabled.
  • Temporarily enable Config.Debug to display the zone boxes.

The player does not have permission

  • The job name must exactly match the job configured for the business.
  • If Config.RequireOnDuty = true, the player must be on duty.
  • If you use MasterJobs, confirm that the business exists and that the employee is listed as on duty.
  • A regular framework job does not also need to exist in MasterJobs.

The final product is not given

  • Confirm that the item exists in the inventory provider that is actually active.
  • Check item weight, capacity, and stacking rules.
  • Check the item name in the recipe.
  • Enable Config.Debug and review the finishCraft, addItem, and add_reward_failed console messages.

Item images are missing

  • Configure image paths in JR_Bridge.
  • Confirm that the PNG file exists in the inventory resource.
  • Make sure the image name matches the item name.
  • If no valid image is available, the included placeholder is used.

The panel does not save businesses

  • Check the permissions for /jrjobs_admin.
  • Make sure the resource folder can write to data/businesses.json.
  • Check advanced JSON input for syntax errors.
  • Review the server console for the exact reason the operation failed.

A provider does not work

  • Check its name and state in JR_Bridge/config.lua.
  • Make sure it starts before JR_Bridge.
  • When using automatic detection, do not assume that the resource field is the active provider; always check the startup banner.

Information required for support

When requesting help, include:

  • JR Business Jobs version.
  • Framework, inventory, and target providers shown at startup.
  • Relevant section of config.lua, without private identifiers.
  • Full server console error.
  • Client F8 error, if available.
  • Exact steps required to reproduce the issue.

Do not share licenses, tokens, webhooks, passwords, or private identifiers in public channels.

JR SHOPS SUPPORT

¿Necesitas ayuda con la instalación?

Abre un ticket e incluye las versiones, el error completo y los pasos para reproducirlo. No compartas contraseñas, tokens ni webhooks.

ABRIR SOPORTE ↗
🎃 ESPECIAL HALLOWEEN 20% EN TU PRIMERA COMPRA

Descubre tu próximo sistema para FiveM y estrénalo con un descuento especial.

CÓDIGOHALLOWEEN20
VER SCRIPTS →