62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# User Guide
|
|
|
|
This guide is intended for club managers who use the FUJ Management system for day-to-day operations.
|
|
|
|
## 🛠 Operational Workflow
|
|
|
|
To keep the club finances up-to-date, follow these steps periodically (e.g., once a week):
|
|
|
|
1. **Sync Bank Transactions**:
|
|
Run the sync script to pull the latest payments from Fio.
|
|
```bash
|
|
make sync
|
|
```
|
|
2. **Infer Payments**:
|
|
Let the system automatically tag who paid for what.
|
|
```bash
|
|
make infer
|
|
```
|
|
3. **Manual Review (Google Sheets)**:
|
|
Open the Google Spreadsheet. Check rows with the `[?]` prefix in the `Person` column—these require human confirmation.
|
|
- If correct: Remove the `[?]` prefix.
|
|
- If incorrect: Manually fix the `Person` and `Purpose`.
|
|
- If a payment covers a special case: Use the **exceptions** sheet to override expected fees.
|
|
4. **Check Reconciliation Dashboard**:
|
|
Start the web app to see the final balance report.
|
|
```bash
|
|
make web
|
|
```
|
|
Navigate to `http://localhost:5001/reconcile`.
|
|
|
|
---
|
|
|
|
## 📊 Understanding the Dashboard
|
|
|
|
### Reconciliation Page
|
|
- **Green (OK)**: Member has paid exactly what was expected (or more).
|
|
- **Orange (Partial)**: Some payment was received, but there's still a debt.
|
|
- **Red (UNPAID)**: No payment recorded for this month.
|
|
- **Blue (SURPLUS)**: Payment received for a month where no fee was expected.
|
|
|
|
### Handling Debts
|
|
If a member is in debt, you can click on the unpaid/partial cell to get a **QR Platba** link. You can send this link or screenshot to the member to facilitate quick payment.
|
|
|
|
---
|
|
|
|
## ❓ FAQ & Troubleshooting
|
|
|
|
### Why is a payment "Unmatched"?
|
|
A payment stays unmatched if neither the sender name nor the message contains recognizable member names or nicknames.
|
|
- **Fix**: Manually enter the member's name in the `Person` column in the Google Sheet.
|
|
|
|
### How do I handle a "Family Discount" or "Prepaid Year"?
|
|
Use the `exceptions` sheet in the Google Spreadsheet.
|
|
1. Add the member's name (exactly as it appears in attendance).
|
|
2. Enter the month (e.g., `2026-03`).
|
|
3. Enter the new `Amount` (use `0` for prepaid).
|
|
4. Add a `Note` for clarity.
|
|
|
|
### The web app is slow to load.
|
|
The app fetches data from Google Sheets API on every request. This ensures real-time data but can take a few seconds. The "Performance Breakdown" footer shows exactly where the time was spent.
|
|
```
|