> For the complete documentation index, see [llms.txt](https://alt0.gitbook.io/alt0-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alt0.gitbook.io/alt0-docs/alt0-mdt/financial-audit.md).

# Financial audit

Officers audit a citizen's money from bank records. Needs ALT0 Bank.

With ALT0 Bank installed, citizen profiles get a **Financial** tab. It reads only what went through the bank: accounts, transfers, cash paid in and taken out at the bank and ATMs, bills, loans, business accounts and the bank's own card-fraud records. It never looks at what people carry.

## What officers see

* **Warning signs,** each with the transactions behind it:
  * structuring: several amounts just under the reporting line, close together
  * a lot of cash paid in
  * money passing straight through: in and out again within hours
  * money from many different people, or sent to many
  * bursts of transfers inside one hour
  * very large transfers
  * cash moved through business accounts
  * money moved while the accounts were frozen
  * card fraud: stolen and cloned cards, skimmers, PIN guessing
* **Money in and out** over 7, 30 or 90 days, the people the money moves with, and the full ledger.
* **Actions:** copy the result to the profile notes, file it to a case as verified evidence with chain of custody, or freeze the person's bank accounts.

Every audit, freeze and filed record is written to the MDT audit log. A frozen citizen is told their accounts were frozen.

## Who can use it

| Permission       | Default                | Allows                                 |
| ---------------- | ---------------------- | -------------------------------------- |
| `finance.audit`  | Police, grade 1 and up | Open the Financial tab and file audits |
| `finance.freeze` | Police, grade 3 and up | Freeze and unfreeze accounts           |

To include the sheriff, add `'sheriff'` to the agencies. See [Permissions](/alt0-docs/alt0-mdt/permissions.md).

## Settings

In `config.lua`:

```lua
Config.FinancialAudit = {
    days = 30,                  -- period an audit opens on (officers can switch to 7, 30 or 90)
    reportThreshold = 10000,    -- structuring: several amounts just under this, close together
    structuringFrom = 0.85,     --   "just under" starts at this share of the threshold
    structuringCount = 3,       --   this many inside 48 hours is a pattern
    cashDeposits = 25000,       -- cash paid in over the period worth a look
    passThroughMin = 5000,      -- money that arrives and leaves again ...
    passThroughHours = 24,      --   ... within this many hours
    fanIn = 5,                  -- money received from this many different people
    fanOut = 6,                 -- money sent to this many different people
    burstPerHour = 6,           -- person-to-person transfers inside one hour
    largeTransfer = 50000,      -- single transfers this big are listed
    businessCash = 25000,       -- money moved in or out of business accounts
    cardFraudOnSuspect = true,  -- show stolen-card, cloned-card and skimmer use on the suspect's record
    freezeNeedsWarrant = true,  -- freezing someone's accounts needs an active warrant for them
}
```

`cardFraudOnSuspect = false` keeps card fraud off the suspect's own record: the bank then only reports it as fraud against the victim's account, and police have to work out who did it.
