Skip to content

Bulk Import

Two uploads, two screens, both in Membership Admin:

ScreenFileWhat a row is
Upload MembershipMEMBER NAME, GENDER, DATE OF BIRTH, COUNTRY CODE, MOBILE NO., IC/PASSPORT, EMAIL, MEMBER CLASS, JOIN DATE, START DATE, END DATE, MEMBERSHIP STATUS, REMARKS, LABEL 1, LABEL 2, LABEL 3One member
Upload Member Point TransactionDownload Sample Format → Member Point Txn on the screen for the exact header (card number, company and branch code, point currency, points, transaction type and date, description, validity, document reference)One point transaction line — the way to bring balances over from a previous system

Each upload has a Main tab (file status) and a Checking tab that lists the rows and their short error message before anything is imported. Member class and label codes, branch codes and point-currency codes must already exist — the file refers to them by code.

Decide before you upload

  • Bring history over as one opening line per member per currency with a Valid To date, not as thousands of historical lines. Every line becomes a control-account lot that the expiry processor will examine; see Expiry Rules.
  • Labels are resolved by code at import time; an unknown code fails the row with INVALID_LABEL_CODE (MembershipFileImportHelperService.createLabelLinkContainer, L92–L93). The same applies to the class code.

When it goes wrong

SymptomCauseFix
Row rejected on the Checking tabClass or label code not found, date format, missing mandatory columnFix the row and re-upload; create the codes first
Imported points do not appear in the balanceThe line’s validity is already past, or the currency code is wrongCheck the Points Expiry tab; correct the currency and re-import