4th November 2025 — Member Bulk Load Date Format Fix #73
Corrected date format parsing for Ramblers Insight Hub Excel exports, preventing membership expiry dates from being incorrectly set to null.
Where to Find It
- Admin → Members → Bulk Load: Import functionality from Ramblers Insight Hub exports
- Member Management: Membership expiry date handling
Benefits
- Correct Date Parsing: Handles 2-digit years (15/07/26) for expiry dates and 4-digit years (15/07/2023) for email permission dates
- Preserved Data: Prevents existing expiry dates from being overwritten with null
- Type Safety: Enum values used throughout for maintainability
- Comprehensive Testing: 8 unit tests verify correct date format handling
- Clear Code: Renamed enum values reflect actual format (TWO_DIGIT_YEAR vs FOUR_DIGIT_YEAR)
Technical Details
Root Cause:
- Ramblers Insight Hub uses different date formats for different columns
- "Expiry date": dd/MM/yy (e.g., 15/07/26)
- "Email Permission Last Updated": dd/MM/yyyy (e.g., 15/07/2023)
- Code incorrectly configured membershipExpiryDate with dd/MM/yyyy (4-digit year)
- Parse failures returned null, overwriting existing valid dates
Solution:
- Rename RamblersInsightHubDateFormat enum values:
- JOIN_DATE → TWO_DIGIT_YEAR (dd/MM/yy)
- OTHER_DATES → FOUR_DIGIT_YEAR (dd/MM/yyyy)
- Configure membershipExpiryDate to use TWO_DIGIT_YEAR
- Configure emailPermissionLastUpdated to use FOUR_DIGIT_YEAR
- Update all test assertions to use enum values (type safety)