The CSV Import Tool checks what records are currently in the system to identify potential duplicates. Because of that duplicate detection, the existing records in the system are counted toward the 20,000 record limit. For that reason, you might have fewer than 20,000 records in your file, but you may still get a record limit error when importing a CSV file.
For example, importing data to a screen with a primary key, or attempting to perform an update by record ID will cause the system to load all records for the users included in your import file. These records are counted toward the 20,000 record limit enforced by the system. This limit most commonly impacts Scheduled Teaching, which by default has a primary key designed to prevent the creation of duplicates and simplified updates to existing records.
To work around this, we recommend splitting the CSV file into multiple parts. The exact number will depend on how many records are in the file and how many records are in the system. To note, when splitting the file, it’s best to divide it up by username, so that the same user doesn’t appear in multiple files. That way, when our CSV import tool it looking for duplicates, it's only looking at the records for a subset of users.
The import limit also applies to XML imports, which are possible through a web services integration. To learn more about using the Web API for data imports/exports, please visit the following section of the Help Center: Web Services Basics