# 4th November 2025 — Member Bulk Load Date Format Fix [#73](https://github.com/nbarrett/ngx-ramblers/issues/73)
## [build 345](https://github.com/nbarrett/ngx-ramblers/actions/runs/19082746244) — [fixes #73](https://github.com/nbarrett/ngx-ramblers/issues/73) — [commit 33d7112](https://github.com/nbarrett/ngx-ramblers/commit/33d7112)

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)