> ## Documentation Index
> Fetch the complete documentation index at: https://help-loyalife.xoxoday.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v7.19 — August 2025

> Loyalife v7.19 delivers maker-checker for member and rule engine attributes, Membership Blocked status, custom SQL reports, pre-processing for SFTP files, and 35 total features.

# v7.19 — August 2025

**Released:** August 2025

## Compliance & Audit

### Audit Trail for Bulk Points Adjustments

All bulk points adjustment file uploads and approval/rejection actions are now captured in the audit trail:

* Recorded fields: Date (YYYY-MM-DD HH:MM:SS), Username, Action category (*"Bulk points adjustment"*), Page URL, Activity description (includes filename), IP Address, Browser info

### Maker-Checker for Member & Rule Engine Attributes

A new **Attribute Management** approval workflow is available under Advanced Configuration → Modules:

* Once activated at program level, **it cannot be disabled**
* All of the following are routed through the approval workflow: create, edit, and delete operations for member and rule engine attributes; enabling/disabling product codes; adding, editing, and bulk uploading product codes; sub-product code operations; and aggregate attribute modifications
* A CSV export for approval tracking is available from both the Pending view and the All Actions view
* Only users with Maker, Checker, or Approver roles can see this export
* Exports are available under Reports → Administrative Data

### Maker-Checker Tracking Report

* CSV export available for Pending and All Actions views from the approval workflow
* Access restricted to users with Maker/Checker/Approver roles
* Each export action generates an audit trail entry

***

## Member Management

### Membership Blocked Status

A new **Membership Blocked** status enables complete program restriction:

* **Login Blocked** (renamed from "Blocked"): restricts login and redemption; accrual is still allowed
* **Membership Blocked** (new): restricts login, all forms of accrual (transactions, referrals, campaigns, peer-to-peer, API, bulk uploads, SFTP), and redemption
* Requires the "Allow Membership Block" permission; Maker-Checker approval required with a reason
* All actions are logged in the audit trail with user, timestamp, and reason

### Dynamic Column Configuration in Transaction Summary

* Users can customise which columns appear in the Member Transaction Summary
* **Default columns (always visible):** Merchant Name, Amount, Points, Transaction Date, Processing Date, Transaction Type, Narration
* **Narration is visible by default and cannot be deselected**
* Additional selectable columns: Global Attributes, Local Attributes, System Attributes
* Column selections are session-based; they do not persist after logout or program change

***

## Reports

### Custom SQL Reports

SQL-based custom reports are now configurable:

* Accepts SELECT and EXEC statements only; other SQL keywords are restricted
* Variables are automatically replaced during report generation
* Supported generation schedules: Daily, Weekly, Monthly, Yearly, Custom Monthly Range, One-time
* Only administrators can create custom reports; users with "Create Report" permission can view, delete, and share; users with "View Report" permission can only view shared reports
* Variable changes take effect from the next cron execution onwards

### Automated Report Upload to Azure Blob Storage

Active auto-generated reports can be automatically transferred to Azure blob storage:

* Only **active-status** reports are eligible for transfer; deleted reports are blocked
* Transfer can be configured with optional Maker-Checker approval before upload
* Requires the "Manage Report Automation" permission
* Deleting an automation configuration disables future uploads but retains history

### Report Configuration & Download Overhaul

* **Unified Report Columns selector:** Global Columns and Custom Columns are merged into a single "Report Columns" picker
* **Unified Report Filters section:** Filters and Narration are consolidated
* Flexible period generation: Daily, Weekly, Monthly, Quarterly, Yearly, Custom Monthly Range (up to 5 date ranges)
* Download most recently generated report directly from the listing screen
* The View section displays all generated reports with pagination, including file name, date of generation, period, status, and download options

***

## Rule Engine

### Time-Bound Rule Groups with Points Holding

Rule Groups with defined timeframes can now hold points pending maker-checker approval:

* **Lifetime Rule Groups:** Always active; points are credited immediately
* **Time-Bound Rule Groups:** Points are held in a staging area until the rule group period ends
* An Approval Workflow toggle is available per time-sensitive rule — once enabled, it is irreversible
* A CSV is auto-generated per rule with member details and points held
* **Checker approves:** Hold records move to the accrual bucket
* **Checker rejects:** Rejection file is available for download; rejected members can be re-uploaded via Bonus File Upload
* Anomaly detection is skipped for time-bound transactions under approval

### Segment Linkage with Rule Groups

* Only Manual Segments can be linked to Rule Groups (Smart/Dynamic Segments are excluded in this version)
* Default: "All Members" when no segment is selected
* Linked segments cannot be changed after the Rule Group is created
* Segments linked to Rule Groups or Campaigns cannot be deleted

***

## Data Processing

### Pre-Processing Functions for SFTP Files

Super administrators can configure pre-processing transformations on CPD and TXN files before they enter the main processing pipeline:

* **Scope:** CPD and TXN files only — BNS, CRD files and API data are excluded
* **Supported formats:** .csv and .txt with comma-separated or pipeline delimiters
* **Test function:** Limited to 100 records

**Available operations:**

*Column management:* Create or remove columns using dynamic attributes, static values, or combinations; supports operators: equals, not\_equals, greater\_than, less\_than

*Row management:* Remove rows via multiple if-else conditions; add rows by duplicating previous row data; skip specific cell values

*Cell updates:* Modify specific cells using conditional if-else logic; respects data type constraints

*Delimiter conversion:* Convert pipeline-delimited files to comma-separated; supports headerless files via index matching

***

## Marketplace & Redemption

### Storefront Country-Based Redirection

* Members who register or update their profile country are automatically redirected to the appropriate storefront
* India or non-UK/US/Canada members are directed to the global storefront; UK, US, and Canadian members are directed to a regional storefront

### Discount Voucher Support

* Storefront redemption now tracks discount voucher scenarios where a member pays fewer points than the bank's cost (the bank absorbs the discount)
* New optional API fields: `original_amount`, `original_points_before_discount`, `discount_code`, `discount_value`, `discount_type` (FIXED or PERCENTAGE only)
* Backward compatible — storefronts not passing these fields continue to function unchanged

### Discount Coupon Codes at Checkout

* Discount coupon codes can be applied at checkout for E-Vouchers, Shop, and Mobile Top-up categories
* Codes are generated and managed by the client team
* After purchase, coupon usage is visible in Order History and delivery emails; admin can view via Transaction Reports

***

## Points

### BigInt Support for Transaction Points

* Point values in the Rule Engine now support up to **16-digit values** via BigInt
* UI display limits for other modules remain unchanged

### GL+1 Report: Original Points Before Discount

* The GL+1 report now captures `original_points_before_discount` alongside net redeemed points
* Formula updated: `AMOUNTLCY = original_points_before_discount × Redemption rate × 100`
* Backward compatible — if the field is empty or not provided, the system uses the existing redeemed points value
