> ## Documentation Index
> Fetch the complete documentation index at: https://docs.civicbot.app/llms.txt
> Use this file to discover all available pages before exploring further.

# How income is calculated

> The exact rules behind a member's daily income, with a worked example.

A member's daily income is worked out in four steps. The order matters.

## The four steps

**1. Highest role wins within a source**

For each **source**, look at every primary rule the member matches. Keep only the
**highest-paying** one. If two rules pay the same, the higher priority wins.

**2. Sources add together**

Add the selected amount from **each** source. A member in three sources earns from
all three.

**3. Bonuses stack**

Add **every** bonus the member holds. Bonuses are not limited to one.

**4. Apply the daily cap**

If a daily cap is set, the total is cut to the cap. This is applied last.

## Worked example

A member holds these roles:

| Role | Pays | Source | Selected? |
| - | - | - | - |
| Senior Officer | 250 | Police | Yes — highest in Police |
| Officer | 200 | Police | No — lower in the same source |
| Firefighter | 180 | Fire & Rescue | Yes — only role in that source |
| Booster | 20 | — | Bonus |
| Donator | 15 | — | Bonus |

The calculation:

| Step | Amount |
| - | - |
| Police | 250 |
| Fire & Rescue | 180 |
| **Primary income** | **430** |
| **Bonuses** | **35** |
| **Uncapped total** | **465** |
| Cap applied (cap = 400) | **400** |

The member is paid **400** — the cap is applied to the final total.

## Rules to remember

* **Within one source, only the best role counts.** Extra roles in the same source do not add.
* **Across sources, everything adds.** Being in two sources pays twice.
* **Bonuses always add.** They never replace anything.
* **The cap is last.** It limits the final daily total, not individual rules.
* **Disabled rules and disabled sources pay nothing.**
* **A missing role pays nothing.** If a role is deleted in Discord, its rule stops paying until you fix it.

## Preview it

You can see this calculation before it happens:

* Dashboard: the **Example payout** and each member's income breakdown.
* Discord: `/economy roles member:<member>` for one member, or `/economy preview` for the whole next payout.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.