This article explains how to bulk import Enrollments into Absorb LMS using a file. Imports may be performed as a one-time upload (commonly during initial implementation) or on a scheduled basis.
This article assumes you are already familiar with managing individual Enrollments within Absorb LMS. For general information about data imports, review Data Imports. For information about managing enrollments individually, see Course Enrollments.
Note: Enrollments include both Course Enrollments and Curriculum Enrollments. You may import one type or both within a single file.
The information provided in this article applies only to paid one time or recurring imports created by our Technical Services team. If you're looking for information on the self-service Enrollment Import tool available in the Admin Experience (AE), see this article.
Additionally, if you would like to set up a one time or recurring import for your use case, your Account Manager can offer additional information.
Preparing the File
Before creating your import file, download the most recent Absorb Data Mapping document from this helpdesk article. Refer to the Courses tab for a complete list of supported fields, including required fields and field dependencies.
After building your file, validate the data using the checklist provided in Getting Started With Data Imports.
Configuration
In addition to the generic configuration options available to all modules, the following settings apply specifically to Enrollments.
General
Unlike most other modules, Enrollments do not support automatic delta file generation. The entire file is processed during each import.
Column Mapping
Column mapping defines which file columns correspond to Absorb LMS fields. Each column header must be mapped to the appropriate system field (for example, a column labeled “Course” should map to Course External ID).
The following fields are mandatory for Enrollment imports:
- User_ExternalId (or configured User Lookup field)
- Course_ExternalId (or configured Course Lookup field)
- IsActive
- Status
- DateStarted
- DateCompleted
IsActive
Absorb supports multiple Enrollments for the same User and Course. The IsActive field determines which enrollment is considered active.
If only one Enrollment per User and Course exists, set IsActive to 1.
If a User has completed a Course multiple times, set older records to 0 (inactive) and the most recent record to 1 (active). Inactive enrollments are available for reporting but are not visible in the Learner UI.
If needed, the Enrollment Priority setting can automatically determine active status.
Processing
Processing settings define how records are uniquely identified and how conflicts are resolved during import.
Unique Identifier *
Determines how the system identifies existing enrollments for update purposes.
- User & Course: Uses a combination of User and Course identifiers.
- Enrollment ID: Uses the system-generated Enrollment GUID. This option is only valid for updating existing enrollments.
User Lookup *
Defines how the User is identified in the system.
- Username
- External ID (most common)
- Employee Number
Important: Some fields (such as Email and External ID) are not system-enforced as unique. A unique match must exist for the record to process successfully.
Course Lookup *
Defines how the Course is identified.
- ID (system GUID)
- External ID (most common)
- Name
Session Lookup *
Defines how Instructor Led Course Sessions are handled during import.
- None: Sessions are imported separately.
- Single per course: Creates one historical session per course.
- Single per day per course: Creates sessions per unique Start Date.
- Most recent: Attaches enrollments to the most recent existing session.
- Single per session: Creates one class under the session.
- Single per enrollment: Creates a new class for each enrollment record.
- Single per day: Creates classes per Start Date if one does not already exist.
Enrollment Priority *
Determines how the system resolves multiple active enrollment records.
- Records from file: File records override LMS records.
- LMS record: LMS record remains active.
- Most recent record: The record with the most recent Start Date becomes active.
- Update existing: Updates existing enrollments or creates new ones.
- Update only: Updates existing enrollments only (required when using Enrollment ID).
Related Objects
The following objects are commonly imported alongside Enrollments:
- Users
- Courses
- Curriculum
- Certificates
Enrollments imported with a Status of Complete (3) automatically issue Certificates if the Course setting Learners receive a Certificate upon completion is enabled prior to import.
Refer to the Absorb Data Mapping document from this helpdesk article for additional details.
Data Examples
The following examples demonstrate a properly formatted Enrollment import file.
Spreadsheet Example
Text Example
User_ExternalId,Course_ExternalId,IsActive,Status,DateStarted,DateCompleted,Score,Credits,AcceptedTermsAndConditions,DateExpires,Session_ExternalId 100012,901,1,1,2015/06/05,,,,1,2016-06-05, 100012,901,0,3,2005/11/15,2006/01/06,70,3,1,, 100013,902,1,3,2010/04/10,2010/07/30,87,,1,,647
Comments
This article was useless. I understand the process of importing user information and I've done this many times---to update user records. However, importing enrollments is not logical. There is no explanation here of the actual import process. I presume it is done through the user import process but mapping fields makes no sense. I have successfully updated a user account multiple times and still not been able to enroll them in a course.
Article is closed for comments.