What goes wrong most often, what it actually means, and what to do about it. Most of these are told to you by the console — set Config.Debug = true in shared/config.lua and the server and F8 consoles print [DEBUG] lines for every step.
Installation and Access#
/licensecreator says I do not have permission
Check the routes in Installation → Claiming Admin Access:
Config.Admin.mainAdminIdentifiermust be one of your FiveM identifiers, with its prefix (license:ab12…) or without it, in which casemainAdminIdentifierTypesupplies the prefix.The ace is
command.licensecreator—add_ace group.admin command.licensecreator allow.A row in the Users tab needs the framework identifier — the citizenid on QBCore and Qbox, the identifier on ESX — and must be active.
Access is checked once per session on the player's side. After granting it to someone who is already online, they must reconnect before the command opens for them.
[ERROR] No inventory found
None of the supported inventories was running when the resource started. Move your inventory's ensure line above ensure qs-licensescreator, or, if yours has its own bridge, set Config.Inventory by hand. Until then the script assumes ox_inventory.
[ERROR] … has no definition for: id_card, driver_license, …
Those items are not in your inventory's item list yet. Open /licensecreator → Licenses, press the cube button next to each license named, paste the snippet, and restart the inventory. The authorization document is added once. Snippets for every inventory are in Integrations.
Licenses disappear after a restart, or everyone is treated as a new player
The framework was not found and the resource fell back to standalone, where a player is their license identifier instead of their character. Records were saved under that identifier, so they look gone. Start the framework before qs-licensescreator, or pin Config.Framework. On QBCore the console says so directly:
[qs-licensescreator] qb-core has not returned its core object yet - start it before this resource."The interface is not ready yet, try again"
The interface did not load. The interface ships ready to run in web/build/ — if that folder is missing or incomplete, upload the resource again in full. With the F8 console open, a failed load shows the file it could not find, and the creator prints The creator panel never mounted, releasing NUI focus. so you are never left stuck with the cursor.
I set Config.Language and everything is still in English
The language is a setting stored in the database, and it wins on every boot. Pick it in Settings → Validity → Panel language and press Save — it switches for every player immediately. A language missing from the dropdown is not in Config.Languages.
Peds and Buying#
A ped does not spawn
It must be enabled (Spawn this ped) and actually placed — the Peds list says Not placed yet otherwise.
The model name must be valid. Placing it with an invalid model says That model could not be loaded.
A ped restricted to jobs or gangs is invisible to everyone else — test it with a character that has that job and grade.
Peds spawn within 60 metres and disappear past 80 (
Config.Pedsinshared/advanced.lua).
Pressing the prompt says "You do not have permission to do that"
The ped refused to open for that player. Either their job or grade is no longer allowed, or — at a license office — the license sold there has been switched to unavailable in the Licenses tab.
The third eye does not show anything
Targets are only used with Config.UseTarget = true, and the target resource (ox_target, qb-target or ph-target) must be started before qs-licensescreator. With the switch off, every ped uses the [E] prompt.
A ped is placed but its blip is not on the map
Blips are short-range by default and appear on the minimap only nearby — set Config.BlipShortRange = false to keep them always visible. Also check the ped's Show on the map switch and, for license offices, Config.LicenseBlip.enabled.
"You cannot afford this" with money in the bank
Licenses are paid from Config.PurchaseAccount, cash by default. Set it to 'bank' to charge the bank. In standalone the money is a money item in the inventory.
"You need an authorization document for this license"
That office requires approval. The player requests it at the Authorization center, waits for the terminal to approve it, and collects the document in the Collect tab. A document is made out for one license — one collected for the pilot license does not open the firearms registry.
"This license was reported, it cannot be reissued"
The player reported it stolen or lost. An officer clears the report at the terminal (Licenses → Clear report), or staff do it from the Issued tab — then it is valid again, and can be bought as a duplicate.
Photos#
"Photo upload is not configured yet"
No provider is set. Settings → Photo upload, pick one and fill its fields — a Discord webhook is the quickest. Until then nothing that needs a new photo can be issued, starter licenses included.
Photos come out black
screenshot-basic is not running, and the fallback capture does not work on every game build. The F8 console says screenshot-basic is not started, photos may come out black. Install it and start it before this resource.
"The photo could not be taken"
The shot was taken but the upload failed, or nothing came back within 30 seconds. The server console names the provider's answer — License photo upload failed: discord_failed, Fivemanage upload failed (HTTP 401) and so on. Check the webhook or key; if the host rejects large files, lower quality, maxWidth and maxHeight in Config.PhotoCapture.
Showing a License#
Nothing happens when I use the license item
Three things to check, in order:
The item exists in your inventory's item list — get the snippet from Licenses → Inventory item setup, paste it and restart that resource.
It is marked
useable = true.On ox_inventory it also has
server = { export = 'qs-licensescreator.useLicenseItem' }.
On qs-inventory the item is registered through qs-inventory itself, so the start order does not matter there.
"You do not carry that license" when using the item
The item has no license data in it, or it points at a template that no longer exists. Licenses must be issued by the script — an item spawned with a give-item command is empty. Deleting a template, or changing its template id, orphans the items already issued from it.
The item's picture is blank
The file must exist in your inventory's image folder under the exact name the creator shows — with one item per license that is id_card.png, driver_license.png and so on. The cube button next to the license shows the folder and the file name it expects.
The card shows an old job, rank or name
Card fields are written into the item when the license is issued. Buying it again at its office — or reissuing it from the Issued tab — writes the current values.
Nearby players do not see the card
Only players within Config.LicenseView.proximityRadius — three metres — see it, and a radius of 0 shows it to the holder only.
Designs and Starter Licenses#
Starter licenses never arrive
No template has Grant on first spawn ticked, or the template is unavailable.
Photo upload is not configured — with
Config.Debugon, the console saysStarter licenses skipped, photo upload is not configured.The player has held that license before, even if it was revoked. Starter licenses are never granted twice.
Your character creator fires an event that is not hooked — add it to
client/custom/clothing/starter.luaor callRequestStarterLicenses.
The example licenses look nothing like the screenshots
Your database still holds designs from an older import — layers called Custom Text Copy Copy are the giveaway. Designs live in the database, so updating the resource files does not touch rows you already have. Importing database/sql.sql again puts the current examples back — and overwrites any edits to templates 3–9, offices 1–7, global peds 1–3 and categories 1–2.
Still stuck? Turn on
Config.Debug, reproduce the problem, and open a ticket with the server console from the boot onwards and the F8 console from the moment it happened.



