# Release Notes — Optional Sponsor Schedule and No-Double-Receipting Controls

## Funding-agency receipt changes

- The CSV/XLSX student allocation schedule is optional when a HELB, County, NG-CDF/CDF, scholarship or donor receipt is captured.
- Finance may create only the parent receipt and allocate later.
- When a schedule is attached, the system creates a draft allocation batch in the same transaction.
- When no schedule is attached, no empty batch is created and the full receipt remains available for later manual or bulk allocation.

## Parent/child double-receipting prevention

- One external bank, cheque or M-Pesa reference can belong to only one cash receipt across sponsor and direct-student ledgers.
- Direct student receipt entry rejects sponsor payer descriptions and requires new-money confirmation.
- An exact student-and-amount match against a posted sponsor allocation within seven days is blocked.
- Only a System Admin/Admin can override a verified separate payment, with a mandatory audit reason.
- Non-cash sponsor allocations cannot be printed as official fee receipts; they use Student Sponsor Allocation Advice.
- Sponsor Control Reports include a historical possible parent/child receipt review.

## Upgrade

Run:

```bat
C:\xampp\php\php.exe C:\xampp\htdocs\college_erp\bin\migrate.php
C:\xampp\php\php.exe C:\xampp\htdocs\college_erp\bin\check_integrity.php
```

Migration added: `database/migrations/20260714_004_no_double_receipting.sql`.
