Release
Paying a fine used to take the citizen's money and credit it nowhere; it now lands in the bank account of the job that wrote the ticket, through whichever banking script your server runs. Every date and every 'x minutes ago' in the tablet also follows the officer's language instead of staying English in all fifteen translations. A new admin page owns the money settings and can prove, with one button, that a deposit really arrives.
Replace every file in the resource. Around sixty files changed across the Lua, the tablet and all fifteen translations, so there is no useful list — drop the whole folder in and put your own config/ back.
What to keep from your current install: anything you edited under config/ and custom/, which is everything escrow leaves editable. Nothing else in the resource is yours.
A paid fine is credited to the job stored on the ticket, so a sheriff's fine pays the sheriff and not the police. Nothing about paying changes for the citizen: same amount, same place.
The banking script is detected at boot, the same way your framework and inventory already are — qs-banking, Renewed-Banking, fd_banking, okokBanking, qbx_management, qb-banking, qb-management or esx_addonaccount. The server console prints which one it picked. If you run something else, or a fork that renamed its exports, copy the closest file in server/custom/society/ and change the names; that folder stays editable after escrow.
With no banking script at all the money is kept in the suite's own table and read back with exports['qs-police-creator']:GetSocietyBalance('police').
Open Admin → Society money and press Deposit in the Connection card. It moves a real (small) amount and tells you one of three things: it worked, the banking script refused it, or — the one worth catching — it was accepted and the balance did not move, which means the account is named something else on your server. Map it in the Account names card on the same page.
On ESX, the shared account has to exist in addon_account before it can be paid. If it does not, the server console prints the two lines of SQL that create it.
Nothing to import. A server with no banking script gets one small table, qs_police_society_accounts, created on first use and only in that case.
70 new strings across all fifteen languages. If you have edited your locale files by hand, note that the in-game locale updater overwrites them from Weblate — keep your changes somewhere else.
Paying a fine in the MDT took the amount from the citizen, marked the penalty paid, and credited it nowhere — in all three framework adapters, so no department could fund itself from its own tickets. The money now goes to the bank account of the job stored on the penalty, which is the job of the officer who wrote it.
The date library formats in English unless it is handed a locale, and almost every screen called it without one, so a Japanese or Russian officer read 'about 2 hours ago' on a dispatch call and '05 Mar' on a penalty. Three places were worse: billing, penalties and prison pinned English by hand, the floating dispatch widget was pinned to Spanish for everyone, and the updater and tracker each carried a partial language table that resolved Traditional Chinese to Simplified.
Admin → Society money holds every setting — the master switch, whether fines are deposited, the share the department keeps, the fallback job, jobs that are never paid, and per-job account names — and applies them without a restart. Its Connection card shows the detected banking script, the resolved account and the balance, and its Deposit button pushes a real amount so you can see the third outcome nobody looks for: accepted by the script, but the balance did not move.
qs-banking, Renewed-Banking, fd_banking, okokBanking, qbx_management, qb-banking, qb-management and esx_addonaccount each get an adapter under server/custom/society/, picked the same way your framework and inventory are, with dedicated banking scripts checked before the framework defaults. A server running none of them keeps the balances in the suite's own table rather than burning the fines.
DepositToSociety, WithdrawFromSociety and GetSocietyBalance let your own scripts touch the same account the fines pay into, respecting the settings and going through whichever adapter the server resolved. A qs-society-check console command answers the same questions as the admin page for anyone who prefers the console.
The date picker showed English month and weekday names in every language, and the admin wanted list was handed a finished '5 min ago' string built on the server. The picker now takes the running language, and the server sends the raw timestamp alongside the old string so the tablet can phrase it itself.
The clock-in dashboard formatted its times as US-style AM/PM for every server. It now follows the officer's language, which means a 24-hour clock everywhere that expects one.