RE:CORD
REC_Economy

Where money comes from and goes

Explicit reason classification for issuance, destruction, transfers, internal moves and unknown movements.
Added
Updated

Money flows record balance changes reported by the framework, grouped by transaction reason. Issuance and destruction are classified explicitly through config/sv_config.lua → flows.classifications.

KindMeaning
faucetNewly issued currency, such as a paycheck or reward
sinkDestroyed currency, such as payment to an NPC shop
transferTransfers between players or other holders
internalInternal movements, such as cash to bank
unknownUnmapped reasons or movements that could not be classified
config.flows.classifications = {
    ["paycheck"] = "faucet",
    ["npc-shop"] = "sink",
    ["player-transfer"] = "transfer",
    ["bank-deposit"] = "internal",
}

Use the exact reason strings reported by your framework. Classification changes apply to new records; existing history is not reclassified. Unclassified movements are displayed separately from issuance and destruction.

Storage and aggregation

The admin settings use flows.interval for flush frequency, flows.jobs.enabled for job totals and flows.live.enabled for updates before the next flush. Unflushed changes are lost on restart. Restart when turning flows.enabled or flows.live.enabled on.

Collection requires framework money-change events: qb/qbx are supported, ESX depends on the build and ox_core has no suitable event. Missing reasons use unknownReason; reasons beyond the configured cap use otherReason.

Economic analysis separates classified issuance/destruction from unclassified movement and displays observation coverage and comparison periods.

©2026 RE:CORD Development Group. All rights reserved.