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

# Finance Tutorial

> Three complete worked examples showing the full reconciliation workflow from import to distribution.

## Tutorial overview

This tutorial walks through **three real scenarios** from start to finish. By the end you'll understand how to use every part of the system.

| Scenario                                           | Covers                                                                  |
| -------------------------------------------------- | ----------------------------------------------------------------------- |
| **1. Central receives Sunday mobile money**        | Import, reconcile (auto + manual), calculate Central distribution       |
| **2. Location receives cash and sends to Central** | Branch import, cash collections, location distribution rules            |
| **3. January Arise & Build campaign**              | Keyword auto-categorization, company donors, building-fund distribution |

<Info>
  Complete the one-time setup (accounts and category rules) before running through these scenarios. See [Initial setup](#initial-setup) below.
</Info>

***

## Initial setup

### Create your financial accounts

Go to **Admin → Financial Management → Accounts** and create these nine accounts:

| Account Name                 | Type         | Account Number | Owner             |
| ---------------------------- | ------------ | -------------- | ----------------- |
| Central Mobile Money MTN     | Mobile Money | 0752000111     | (blank — Central) |
| Central Bank - Centenary     | Bank         | 3001234567     | (blank — Central) |
| Kampala Branch - Centenary   | Bank         | 3009876543     | Kampala Branch    |
| Entebbe Branch - Centenary   | Bank         | 3009876544     | Entebbe Branch    |
| Other Ministries - Centenary | Bank         | 3001111111     | (blank — Central) |
| Operations - Centenary       | Bank         | 3002222222     | (blank — Central) |
| Donations - Centenary        | Bank         | 3003333333     | (blank — Central) |
| Projects - Centenary         | Bank         | 3004444444     | (blank — Central) |
| Welfare - Centenary          | Bank         | 3005555555     | (blank — Central) |

### Create your category rules

Go to **Admin → Financial Management → Category Rules** and create three rules:

<AccordionGroup>
  <Accordion title="Rule 1: Sunday Service Offerings (Priority 5)">
    ```
    Name:       Sunday Service Offerings
    Category:   Offering
    Priority:   5
    Accounts:   ☑ Central Mobile Money MTN
    Days:       ☑ Sunday
    Time:       09:00 – 12:00
    ```
  </Accordion>

  <Accordion title="Rule 2: January Arise & Build (Priority 10)">
    ```
    Name:        January Arise & Build Campaign
    Category:    Arise & Build
    Priority:    10
    Keywords:    arise, build, project, building
    Date Range:  January 1 – January 31 (☑ Apply every year)
    ```
  </Accordion>

  <Accordion title="Rule 3: Donation Keywords (Priority 3)">
    ```
    Name:      Donation Keywords
    Category:  Donation
    Priority:  3
    Keywords:  donation, donate, gift, contribution
    ```
  </Accordion>
</AccordionGroup>

***

## Scenario 1: Central receives Sunday mobile money offerings

**Situation:** It's Monday 15 January 2024. Members sent mobile money during Sunday's service. You need to import the statement, match transactions to members, and calculate distributions.

### 1.1 Prepare the CSV file

Save this as `central_mm_jan15.csv`:

```csv theme={null}
Date,Amount,Name,Phone,Reference
2024-01-15 09:30,500000,John Doe,0772123456,Tithe Jan
2024-01-15 10:15,300000,Mary Ssempa,0756789012,Offering
2024-01-15 10:45,750000,Peter Kato,0701234567,Monthly tithe
2024-01-15 11:20,200000,Grace Nakato,0772555666,Offering Sunday
2024-01-15 11:50,1000000,David Mugisha,0756111222,Tithe
2024-01-14 18:00,400000,Sarah Nambi,0772999888,Tithe
2024-01-15 09:05,150000,Unknown Sender,0701777888,
```

### 1.2 Import the statement

Go to **Import Transactions** and configure:

```
Account:                Central Mobile Money MTN
Default Category:       Tithe
☑ Apply service time rules
```

Upload the file and click **Preview Import**. You'll see:

| Date          | Amount    | Name           | Category     | Why                         |
| ------------- | --------- | -------------- | ------------ | --------------------------- |
| Jan 15, 09:30 | 500,000   | John Doe       | **Offering** | Sunday 9–12 rule            |
| Jan 15, 10:15 | 300,000   | Mary Ssempa    | **Offering** | Sunday 9–12 rule            |
| Jan 15, 10:45 | 750,000   | Peter Kato     | **Offering** | Sunday 9–12 rule            |
| Jan 15, 11:20 | 200,000   | Grace Nakato   | **Offering** | Sunday 9–12 rule            |
| Jan 15, 11:50 | 1,000,000 | David Mugisha  | **Offering** | Sunday 9–12 rule            |
| Jan 14, 18:00 | 400,000   | Sarah Nambi    | **Tithe**    | Saturday — rule didn't fire |
| Jan 15, 09:05 | 150,000   | Unknown Sender | **Offering** | Sunday 9–12 rule            |

**Total: 7 transactions — 3,300,000 UGX**

Click **Import Transactions**.

### 1.3 Reconcile

Go to **Financial Management → Reconciliation**.

<Steps>
  <Step title="John Doe — 500,000 UGX (95% confidence)">
    System shows: *Phone exact match · Kampala Branch*

    **Action: Click Approve.**
  </Step>

  <Step title="Mary Ssempa — 300,000 UGX (92% confidence)">
    System shows: *Phone exact match · Entebbe Branch*

    **Action: Click Approve.**
  </Step>

  <Step title="Peter Kato — 750,000 UGX (two suggestions)">
    System shows Peter Kato at 88% (phone exact match) and Peter Kateregga at 65% (name similar, no phone match).

    **Action: Click Approve on the first suggestion — Peter Kato.**
  </Step>

  <Step title="Grace Nakato — 200,000 UGX (name match, different phone)">
    System finds Grace Nakato (78%) but her saved phone `0772555777` differs from this transaction's `0772555666`.

    **Action: Click Edit.**

    In the modal:

    * Contact: Grace Nakato ✓
    * Tick **Add 0772555666 as new payment method** → Provider: MTN
    * Location: Kampala Branch ✓
    * Category: Offering ✓
    * Click **Save Match**

    Grace now has two saved phone numbers — future transactions from either will score 95%+.
  </Step>

  <Step title="David Mugisha — 1,000,000 UGX (94% confidence)">
    System shows: *Phone exact match · Entebbe Branch*

    **Action: Click Approve.**
  </Step>

  <Step title="Sarah Nambi — 400,000 UGX (91% confidence, Saturday)">
    Category shows **Tithe** (correct — she sent Saturday evening, not during service).

    **Action: Click Approve.**
  </Step>

  <Step title="Unknown Sender — 150,000 UGX (no match)">
    You call the number and find out it's a visitor: James Okello.

    **Action: Click Manual Match.**

    In the modal:

    1. Type "James Okello" — not found
    2. Click **+ Create New Contact: James Okello**
    3. Fill in the quick form:
       ```
       First Name:  James
       Last Name:   Okello
       Phone:       0701777888  (auto-filled)
       Location:    Kampala Branch
       ```
    4. Click **Create & Match**

    James is added to contacts, 0701777888 is saved as his payment method, and the transaction is matched.
  </Step>
</Steps>

### 1.3b Bulk approve (faster method)

Instead of approving transactions one by one:

1. Tick the boxes next to **John, Mary, Peter, David, and Sarah** (all ≥90% confidence)
2. Click **Approve All High Confidence**
3. The system approves all 5 at once
4. You only need to handle **Grace** (new phone) and the **Unknown Sender** individually

This saves significant time when processing a large week of transactions.

### 1.4 Calculate distributions

Go to **Distributions → + New Distribution Batch**:

```
Name:         Week 3 January 2024
Period Type:  Weekly
Date Range:   Jan 15 – Jan 21, 2024
☑ Approved matches only
```

Click **Calculate Distributions**. The system applies Central's rules:

#### Offerings — 2,900,000 UGX

*(John 500k + Mary 300k + Peter 750k + Grace 200k + David 1M + James 150k)*

| Destination      | Rule                                  | Amount  |
| ---------------- | ------------------------------------- | ------- |
| Other Ministries | 10%                                   | 290,000 |
| Operations       | 30%                                   | 870,000 |
| Kampala Branch   | 60% × Kampala share (1,600k / 2,900k) | 960,000 |
| Entebbe Branch   | 60% × Entebbe share (1,300k / 2,900k) | 780,000 |

#### Tithe — 400,000 UGX

*(Sarah — Kampala Branch)*

| Destination      | Rule | Amount  |
| ---------------- | ---- | ------- |
| Other Ministries | 10%  | 40,000  |
| Operations       | 30%  | 120,000 |
| Kampala Branch   | 60%  | 240,000 |

**Total distributed: 3,300,000 UGX ✓**

Click **Submit for Approval**.

### 1.5 Execute transfers (after approval)

Once leadership approves, go to the batch and mark each transfer as you complete it in your bank:

| Transfer                      | Amount    | Enter reference |
| ----------------------------- | --------- | --------------- |
| Central MM → Other Ministries | 330,000   | TXN123456       |
| Central MM → Operations       | 990,000   | TXN123457       |
| Central MM → Kampala Branch   | 1,200,000 | TXN123458       |
| Central MM → Entebbe Branch   | 780,000   | TXN123459       |

Each line shows "Executed" with the date once saved.

### 1.6 View the report

Go to **Financial Management → Reports**, select **Reconciliation Summary**, and set the date range to Jan 15 – Jan 21, 2024.

|                | Count          | Amount               |
| -------------- | -------------- | -------------------- |
| Total Imported | 7 transactions | 3,300,000 UGX        |
| Matched        | 7 transactions | 3,300,000 UGX (100%) |
| Pending        | 0              | 0 UGX                |
| Disputed       | 0              | 0 UGX                |

**Match Rate: 100% ✓**

By category: Offering — 6 transactions (2,900,000 UGX) · Tithe — 1 transaction (400,000 UGX)

Click **Export to Excel** to download.

***

## Scenario 2: Location receives cash and sends to Central

**Situation:** It's Monday 22 January 2024. Kampala Branch collected cash during Sunday's service and has one direct bank deposit. They need to reconcile and calculate their distribution.

### 2.1 Prepare the CSV

Save as `kampala_branch_jan22.csv`:

```csv theme={null}
Date,Amount,Name,Reference
2024-01-22 11:00,800000,Cash Collection Sunday,Morning Service
2024-01-22 11:00,300000,Cash Collection Sunday,Evening Service
2024-01-20 14:00,250000,Direct Bank Deposit,Timothy Wasswa - Tithe
```

### 2.2 Import to the branch account

```
Account:          Kampala Branch - Centenary
Default Category: Tithe
☑ Apply service time rules
```

Preview shows all three rows. The two Sunday collections are auto-marked **Offering**; Timothy's weekday deposit stays **Tithe**.

**Total: 1,350,000 UGX** — Click **Import Transactions**.

### 2.3 Reconcile

**Cash collections** don't match to individuals — they represent aggregated Sunday giving.

For each cash collection row:

* The system shows a **Location** field (auto-filled to Kampala Branch) and **Category**
* Click **Approve as Cash Collection**

**Timothy's deposit** matches by name from the narration (82% confidence, Kampala Branch):

* Click **Approve**

All three transactions reconciled.

### 2.4 Calculate Kampala Branch distributions

```
Name:         Kampala Branch – Week 4 January 2024
Period Type:  Weekly
Date Range:   Jan 22 – Jan 28, 2024
```

The system applies **location rules** (same rule applies to both Tithe and Offering):

| Destination      | Rule | Amount  |
| ---------------- | ---- | ------- |
| Send to Central  | 40%  | 540,000 |
| Send to Welfare  | 30%  | 405,000 |
| Retain at branch | 30%  | 405,000 |

**Total: 1,350,000 UGX ✓**

Submit for approval, then execute:

1. Transfer 540,000 from Kampala Branch to Central Bank → mark as transferred
2. Transfer 405,000 from Kampala Branch to Welfare → mark as transferred
3. The 405,000 retention stays in the branch account — mark the retention line as complete

***

## Scenario 3: January Arise & Build campaign

**Situation:** It's Monday 29 January 2024. Members have been giving to the building fund throughout January. You need to process these special transactions.

### 3.1 Prepare the CSV

Save as `arise_build_jan29.csv`:

```csv theme={null}
Date,Amount,Name,Phone,Reference
2024-01-28 10:30,2000000,Joseph Mukasa,0772333444,Arise and Build Project
2024-01-28 14:00,5000000,Company Donation Ltd,,Building Fund January
2024-01-29 09:00,1500000,Rebecca Nakalema,0756777888,For the new church building
2024-01-29 11:00,750000,Samuel Okoth,0701222333,Project donation
```

### 3.2 Import

```
Account:          Central Bank - Centenary
Default Category: Tithe
```

Preview shows all four rows auto-categorized as **Arise & Build** — the keyword rule matched each narration ("Arise and Build", "Building Fund", "building", "Project").

**Total: 9,250,000 UGX** — Click **Import Transactions**.

### 3.3 Reconcile

<Steps>
  <Step title="Joseph Mukasa — 2,000,000 UGX (94% confidence)">
    Phone exact match. **Click Approve.**
  </Step>

  <Step title="Company Donation Ltd — 5,000,000 UGX (no match)">
    This is an organization, not a person. **Click Manual Match.**

    In the modal:

    1. Search "Company Donation Ltd" — not found
    2. Click **+ Create New Contact**
    3. Set contact type to **Company**
    4. Fill in:
       ```
       Company Name:  Company Donation Ltd
       Location:      (blank — external donor)
       ```
    5. Click **Create & Match**
  </Step>

  <Step title="Rebecca Nakalema — 1,500,000 UGX">
    Phone exact match. **Click Approve.**
  </Step>

  <Step title="Samuel Okoth — 750,000 UGX">
    Phone exact match. **Click Approve.**
  </Step>
</Steps>

### 3.4 Calculate Arise & Build distributions

```
Name:         Arise & Build – January 2024
Period Type:  Custom
Date Range:   Jan 1 – Jan 31, 2024
```

Central's rules for Arise & Build:

| Destination      | Rule | Amount    |
| ---------------- | ---- | --------- |
| Other Ministries | 10%  | 925,000   |
| Projects Account | 90%  | 8,325,000 |

**Total: 9,250,000 UGX ✓**

Submit for approval and execute the two transfers.

### 3.5 What about regular donations?

The Arise & Build rules don't apply to regular **Donation** transactions. If you have those in the same import, the distribution rules differ:

<Tabs>
  <Tab title="At Central">
    ```
    Donation Total: 1,000,000 UGX
    → Tithe (10%):             100,000 UGX → Other Ministries
    → Donations Account (90%): 900,000 UGX → Donations Account
    ```
  </Tab>

  <Tab title="At a location">
    ```
    Donation Total: 500,000 UGX
    → Tithe to Central (10%):  50,000 UGX → Central Bank
    → Retain (90%):           450,000 UGX → Keep at location
    ```
  </Tab>
</Tabs>

***

## Quick reference

### Distribution rules at a glance

<Tabs>
  <Tab title="Central">
    | Category      | Other Ministries | Operations | Locations               |
    | ------------- | ---------------- | ---------- | ----------------------- |
    | Tithe         | 10%              | 30%        | 60%                     |
    | Offering      | 10%              | 30%        | 60%                     |
    | Donation      | 10%              | —          | 90% → Donations Account |
    | Arise & Build | 10%              | —          | 90% → Projects Account  |

    *Location split is proportional to how much members of each branch contributed.*
  </Tab>

  <Tab title="Locations">
    | Category      | To Central      | To Welfare | Retained |
    | ------------- | --------------- | ---------- | -------- |
    | Tithe         | 40%             | 30%        | 30%      |
    | Offering      | 40%             | 30%        | 30%      |
    | Donation      | 10%             | —          | 90%      |
    | Arise & Build | 100% → Projects | —          | —        |
  </Tab>
</Tabs>

### Common CSV formats

<Tabs>
  <Tab title="Mobile money">
    ```csv theme={null}
    Date,Amount,Sender Name,Phone Number,Reference
    2024-01-15 09:30,500000,John Doe,0772123456,Tithe
    ```
  </Tab>

  <Tab title="Bank statement">
    ```csv theme={null}
    Transaction Date,Amount,Account Name,Account Number,Description
    15/01/2024,500000,John Doe,3001234567,Tithe January
    ```
  </Tab>

  <Tab title="Cash collection">
    ```csv theme={null}
    Date,Amount,Description,Notes
    22/01/2024,800000,Sunday Service Collection,Morning
    ```
  </Tab>
</Tabs>

The system recognizes all three formats — it searches for Date, Amount, and Name/Description columns automatically.

***

## Pro tips

### Typical weekly time investment

| Task                              | Time   |
| --------------------------------- | ------ |
| Download statements               | 5 min  |
| Import to system                  | 5 min  |
| Approve high-confidence matches   | 10 min |
| Manually match uncertain ones     | 10 min |
| Calculate and submit distribution | 5 min  |
| Execute transfers (Tuesday)       | 15 min |
| Mark as transferred in system     | 5 min  |

**Total: \~55 minutes per week.**

### Auto-match accuracy grows over time

The system learns phone numbers with every approved match. Expect \~60% in week one, climbing to 95%+ after three months.

**To speed up this learning curve:**

* Always approve correct matches (don't skip them)
* Add the new payment method when editing a match with a different phone number
* Keep contact records and locations up to date

### Handling common edge cases

| Situation                          | What to do                                                                   |
| ---------------------------------- | ---------------------------------------------------------------------------- |
| Multiple people with the same name | Check the phone number to pick the right one                                 |
| Member changed phone numbers       | Edit the match, tick "Add new payment method", keep both numbers             |
| Wrong amount sent                  | Match as-is, note it, contact the person separately                          |
| Duplicate transaction imported     | Import once; if already imported, mark the duplicate as Disputed with a note |

### End-of-month checklist

* [ ] All transactions reconciled (0 pending)
* [ ] All disputed items resolved or documented
* [ ] All distributions approved
* [ ] All transfers executed and marked
* [ ] Monthly summary report generated
* [ ] Export to Excel for accounting records

### Training new team members

Give new finance team members these staged practice exercises:

| Week   | Exercise                                                  |
| ------ | --------------------------------------------------------- |
| Week 1 | Import 10 transactions, reconcile obvious matches         |
| Week 2 | Handle fuzzy matches, add payment methods                 |
| Week 3 | Calculate distributions, understand the rules             |
| Week 4 | Edge cases — unknown numbers, companies, cash collections |

By week 4, they'll be comfortable with the full workflow.

***

## Summary: what you've learned

✅ **Set up accounts** — 9 accounts covering Central, branches, and all destination accounts

✅ **Created category rules** — auto-categorize by time, date, and keywords

✅ **Imported transactions** from CSV — mobile money, bank, and cash formats

✅ **Reconciled** using three methods:

* Auto-match suggestions (up to 95% confidence)
* Manual matching for new phones or unknown people
* Bulk approve for speed on high-confidence batches

✅ **Calculated distributions**:

* Central: 10% tithe, 30% ops, 60% to locations (split by member branch)
* Locations: 40% to Central, 30% welfare, 30% retain
* Different rules for Donations and Arise & Build

✅ **Executed and tracked transfers** with bank reference numbers

✅ **Generated and exported reports**

***

## Next steps

1. Set up your real accounts using the tables in the [Initial Setup](#initial-setup) section above
2. Import last week's statements as a practice run
3. Do a test reconciliation with your finance team watching
4. Calculate a test distribution — don't execute it yet
5. Review the results with leadership before going live
6. Start using it for real next Monday
