Skip to main content

Bulk import of loyalty points

Learn how to add loyalty points to guest memberships using the loyalty points import tool.

M
Written by Michelle Normoyle
Updated over a month ago

This import allows hotels and brands to assign points in bulk to existing loyalty members. It is commonly used for:

  • Migrating points from a legacy loyalty platform.

  • Awarding promotional or compensation points.

  • Restoring points after system changes.

  • Applying post-stay adjustments or corrections at scale.


Understand and manage loyalty point imports

The loyalty point import updates the loyalty credit history for existing members using their member ID.

The import does not:

  • Create new loyalty memberships.

  • Change tier status.

  • Modify profile information.

  • Delete or overwrite existing points.

Instead, it adds new credit entries, each containing:

  • The point amount.

  • Posted date.

  • Expiration date.

  • System-assigned activity type.

  • Optional description or reference.

Each credit line appears in the member’s earnings tab immediately after import.


Key characteristics

Outlined below are the key characteristics of loyalty point imports.

  • Require an existing Loyalty Member ID.

  • Add points as new entries in the member’s history.

  • Never modify or remove previous credits.

  • Require an expiration date.

  • Allow base, bonus or manual issuance points in any combination.

  • Process immediately after upload.

  • Cannot be reversed through the import screen.

  • Require a separate negative adjustment to correct errors.

āš ļøImportant: Loyalty point imports cannot be undone. Incorrect imports must be corrected by importing negative adjustments or by assistance from SHR engineering.


Before you start a loyalty point import

Outlined below are some key points to action before uploading a loyalty point import file.

  • Confirm all member IDs belong to an existing loyalty program.

  • Ensure the member ID is correct as misspellings cause failures.

  • Decide all expiration rules before preparing your CSV.

  • Validate whether negative point values are allowed by your program.

  • Remove placeholder values such as NULL, TEST or NONE.

  • Confirm your CSV contains only approved columns.

  • Always test with five to ten rows before performing a full upload.

āš ļøImportant: Once processed, an import cannot be stopped or reversed. Validate your file carefully.


File format requirements for a loyalty point import using a CSV file

Your CSV must contain the following fields. The CRM will reject any file with missing required columns, incorrect formatting or extra unsupported fields. Outlined below are the required and optional fields.

Required columns:

Column

Description

Loyalty Member ID

Required. Must match an existing loyalty membership in the CRM.

Transaction Date

Required. The date the credit should be posted/earned. Must match the selected format during import.

Expiration Date

Required. Determines when the credit expires. Must match the selected format.

Loyalty Program Code

Required. The internal program code of the loyalty program (not the program name).

Optional columns:

Column

Description

Base Points

Optional. May be used alone or in combination with Bonus and Manual Issuance Points.

Bonus Points

Optional. May be used alone or in combination with Base and Manual Issuance Points.

Manual Issuance Points

Optional. May be used alone or in combination with Base and Bonus Points.

PMS Hotel Code

Optional. Must match a valid hotel code in CRM if included.

PmsResvID

Optional. Must match an existing reservation if included.

Ext Transaction

Optional. Used when the credit is associated with a non-room or external revenue transaction. Appears in remarks fields.

šŸ¤“Tip: Each point field you populate such as base, bonus or manual issuance produces its own entry. A single CSV row may generate one, two or three credit records.

CSV rules:

  • Must be saved as .csv.

  • Header row required.

  • No empty lines.

  • No additional columns.

  • All dates must use the selected format during import.

  • Loyalty Member ID must exist or the row fails.


How the CRM handles loyalty point import data

Outlined below are some key points on how the CRM handles loyalty point import data.

Matching logic

  • Member ID must exist otherwise the row fails.

  • Email address is not used for matching.

  • PMS Hotel Code and PmsResvID are validated only if provided.

  • Reservation fields are optional and not required to add points.

Point behavior

Each populated point column creates one credit entry.

CSV Field

System Behavior

Activity Assigned

Base Points

Creates a Base point credit entry

CheckOutAdd

Bonus Points

Creates a Bonus point credit entry

CheckOutAdd

Manual Issuance Points

Creates a Manual Issuance credit entry

AuthorizedUserAdd

šŸ“ŒNote: Activity names are determined by loyalty program configuration. The behaviors above match verified platform behavior from your test import.

System rules

  • Credits are added as separate entries; none are merged.

  • Credits do not overwrite existing history.

  • Expiration applies per credit line.

  • External transaction values appear in CRM’s internal or external remarks fields.

  • Negative credits reduce the member’s balance, if allowed for your program.


Step by step guide for loyalty point import

Outlined below are the steps on how to import loyalty points.

  1. From the left navigation menu, click Profile Management and click Bulk Import.

  2. Select point import tab and click Point Import.

  3. Click Upload File, then choose your CSV file.

  4. Select your Date Format to match your CSV:

    • MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD or YYYY/DD/MM

  5. Map your CSV fields to CRM fields:

    • Required fields appear red until mapped.

    • Auto-matched fields appear blue.

  6. Review all mappings for accuracy.

  7. Click Save and Close to begin processing.

    • If accepted, the CRM displays a confirmation banner and queues the file for processing.

View point import results

Below are the steps to view point import results.

  1. From the left navigation menu, click Profile Management and click Bulk Import.

  2. Locate your import file in the list.

  3. Check the status:

    • Completed.

    • Processing.

    • Failed.

  4. For successful entries, open a guest profile and click the Earnings tab.

  5. Users will also receive an email from the system indicating success counts and providing a link to view those which were rejected along with the reason for rejection.

Results to expect after uploading a loyalty point import

Outlined below are the results to expect after uploading a loyalty point import

The CRM creates one credit entry per populated point field, not per CSV row.

  • User enters values in all three point types, the three rows multiply by three point fields is equal to nine total CRM entries.

Observed activity types

Point Type

Activity

Description

Base Points

CheckOutAdd

Treated as stay-related earning

Bonus Points

CheckOutAdd

Same behavior as Base Points

Manual Issuance

AuthorizedUserAdd

Treated as gesture or manual issuance

Example results from CRM export

Activity

Credit

Reason

CheckOutAdd

-12

Stay

CheckOutAdd

91

Stay

AuthorizedUserAdd

-51

LoyaltyGesture

AuthorizedUserAdd

9

LoyaltyGesture

CheckOutAdd

54

Stay

AuthorizedUserAdd

64

LoyaltyGesture

CheckOutAdd

33

Stay

CheckOutAdd

76

Stay

CheckOutAdd

-22

Stay

Additional behaviors

  • All credits use the transaction date as the activity date.

  • All expiration fields populate correctly with the expiration date from CSV.

  • External transaction IDs appear in internal or external remarks.

  • PMS-related fields remain blank unless PMS hotel code or PmsResvID were provided.

šŸ“Œ Note: Manual issuance points always appear under the AuthorizedUserAdd activity, even if the guest had a stay.


Tips and best practices for bulk import of loyalty points

Outlined below are tips and best practices for bulk import of loyalty points.

  • Test small files five to ten rows before performing large imports.

  • Avoid negative values unless SHR confirms support.

  • Ensure expiration dates are correct, expired points disappear immediately.

  • Use descriptive ext transaction values for auditing.

  • Add a segment to quickly validate affected members.


Troubleshooting

Outlined below are some troubleshooting issues.

Member ID not found

  • Confirm Member ID exists.

  • Remove leading or trailing spaces.

Dates incorrect

  • Date format selected does not match your CSV format.

Points not appearing

  • Check the failed rows.

  • Ensure expiration date has not already passed.

  • Review the Earnings tab for credit entries.

Import fails entirely

  • CSV contains blank rows.

  • Incorrect column headers.

  • Unsupported characters.

  • Invalid date formats.

  • Extra columns included.


Frequently asked questions

Outlined below are some frequently asked questions.

Does a point import change a member’s tier?
No. Tier changes occur only through earning rules or manual edits.

Can I import negative points?
Only if your program supports negative adjustments.

Can I import points for non-members?
No. The row fails without an existing member ID.

Where do imported points appear?
In the guest profile earnings tab.

Do point imports overwrite existing balances?
No. Every import creates new entries.

Shape

Did this answer your question?