Fix POS payment collection + retroactive wizard reliability
Payment Collection (CollectPaymentWizard):
- Remove branch filter from participant search (POS sells cross-branch)
- Include Draft status in outstanding invoice query
- Add invoice search mode (search by invoice number/contact name)
- Allow walk-in invoices to be found and paid directly
- Accept inactive/frozen/registered participants (not just active)
Retroactive Enrollment Wizard:
- Fix "paid outside system" to use PaymentService (creates proper Payment
+ Transaction records for financial reports)
- Add server-side validation in confirm() before DB transaction
- Add national_id duplicate check to prevent duplicate participants
- Add price=0 guard (show error if no base price and no override)
- Fix rounding loss: remainder goes to last month's invoice
- Pass skip_auto_invoice to prevent double invoice creation
POS Partial Payment:
- Enable allows_partial_payment on all existing products (migration)
so the deposit/partial payment UI appears at checkout
Co-Authored-By:
Claude Opus 4.6 <noreply@anthropic.com>
Showing
This diff is collapsed.
Please register or sign in to comment