Browse docs

Finance and bank investigations

View faction balances, transfer or collect treasury funds, inspect supported citizen accounts and record financial actions.

Open Finance in the tablet and select a faction account. The detail view shows its balance and DOJ transaction history. Amounts follow the currency formatting configured in Sky Base.

ActionMoney moves fromMoney moves to
Transfer to faction accountConfigured DOJ/state treasurySelected faction
Collect from faction accountSelected factionConfigured DOJ/state treasury

Enter the amount and reason, then review the confirmation. Collections never credit the employee's personal account. Successful operations update the affected balances and journal. The journal records DOJ operations; it is not a complete statement of every transaction made through the banking resource.

Configure accounts and access

Configure these settings through DOJ's /jobconfig settings or the matching defaults in config/config.lua:

SettingDefault / purpose
Config.ToggleFeatures.financetrue; enables the Finance app
Config.Finance.treasuryJobdoj; job whose society account receives collections and funds transfers
Config.Finance.allowedJobspolice, ambulance, fire, mechanic; registered jobs whose faction accounts can be listed
Config.Finance.maxTransferAmount10000000; maximum amount for one faction operation
Config.Conditions.finePaymentModebank; immediate payment instead of an external invoice
Config.Conditions.billingSocietyJobdoj; recipient for condition fines

Account mappings come from the registered jobs. The treasury is included independently of the allowlist. Start the selected banking provider before Sky Base and deploy matching Base, Jobs Base and DOJ versions. Saved Job Configurator overrides remain authoritative.

PermissionID
View faction balances and DOJ journal2340
Transfer treasury funds to a faction2341
Collect faction funds into the treasury2342
Read citizen bank accounts and supported statements2343
Freeze or unfreeze an account; also requires 23432344
Grant or revoke licenses from Citizens2345

Financial mutations require duty and the relevant application access. The five-minute balance cache is shared on the server; every mutation checks fresh funds and permissions. A displayed cached balance never authorizes a debit.

Citizen accounts and licenses

Open File Explorer → Citizens, select a citizen and use the details or context-menu actions. Bank and license actions require a real framework character; a manual roster entry alone is insufficient. Registry license folders are configured separately in Registries.

The selected banking adapter determines which investigation actions are available:

BankingAccount lookupStatementsAccount freezeDirect condition bank fine
PC BankingOwned accountsYes, paginatedYesPC money API
TGG BankingPersonal accountUnavailableYesUnavailable; select billing mode
Wasabi BankingBank, savings and shared accountsUnavailableYesWasabi bank money API
CoreM / CRM BankingRequires the provider's crm_iban and crm_balance fieldsUnavailableUnavailableFramework bank bridge
Other Sky banking providersNo DOJ investigation adapterUnavailableUnavailableFramework bank bridge, where supported

Faction-account support and citizen investigations are separate capabilities. The shared banking support table lists every Sky banking integration and its exposed features. Unsupported statements are reported as unavailable, not as an empty successful result.

A freeze uses the bank's native account lock. Its coverage depends on the installed provider and the payment path; unrelated scripts writing framework balances directly may bypass it. Test the actual transfer, withdrawal and payment paths used by your server. Personal account freezes do not imply a society treasury is frozen.

History and interrupted operations

Every financial operation records its actor, accounts, amount, reason, time and outcome. Completed faction transfers also appear in the relevant Boss Menu histories. Confirmed condition fines appear in the recipient job's payment history. The same completed condition cannot simply be charged again by another request.

If an operation is marked for review after a provider error or restart, stop and compare the actual provider transactions for both accounts. Do not repeat the transfer or delete pending journal rows to guess the outcome. The system prevents further DOJ operations on affected accounts until reconciliation; there is no automatic recovery screen for ambiguous settlements.

Automatic migrations create the finance journal. If automatic SQL execution is disabled, apply the matching resource's import.sql before enabling Finance.