The ACME Import Export tool can be used to import Membership data from external fundraising CRM systems such as Raiser's Edge. When your current membership information is in ACME, members can verify their membership online to obtain automatically discounted tickets. Additionally, members can renew their membership through ACME and obtain immediate membership discounts and access to member-only events sold through ACME.


TABLE OF CONTENTS


Getting Access

If you are a new user of the Import/Export feature, you will need the correct RBAC permissions to access the tool. The following roles are included in the impex-admin role by default:

  • IMPEX_JOBS_UPDATE › enables the 'edit' link/column on the Job table, to edit the Name/Description of a job
  • IMPEX_JOBS_DELETE › enables you to delete a Job Execution if it has not yet be executed
  • IMPEX_MAPPINGS_UPDATES › enables the "Mappings Editor" button
  • IMPEX_EXECUTE › enables access to the Import/Export area of Backoffice to execute jobs


Import Terms

  • Job: A Job is a container for a type of import. For example, the job named "Raisers Edge - Import Job" is loaded by default. It is a job for importing data from Raisers Edge and has defined field mappings. A single Job will contain many Job Executions.

  • Mapping: The mapping is a definition of how to read or write a column of data and determines where the data from the CSV file(s) will be imported into ACME.

  • Job Execution: A job execution is one instance of the Job. It contains a list of files, and the results of processing those files in that particular instance.

  • Stage: Staging is the process of reading the files and storing them in a Staging database. This doesn't affect any data in ACME. During staging the mappings are applied.

  • Validate: The Validation step checks that the CSV files that have been staged are valid. This means that references between files are correct (i.e. organization_ids in memberships.csv refer to organizations in the organizations files) and other internal checks, such as duplicated IDs or invalid numerical values etc.

    • Any Validation errors are shown in the Logs tab of the Job Execution. Users can advance to the following steps if validation errors are thrown, but records with errors may not be successfully imported.

  • Validate with ACME: This step validates that the staged data is valid where it references items that should already exist within ACME. In other words, it checks the data against the ACME database. Validate with ACME is not necessary for Membership imports.

  • Import: This step actually imports the staged data into ACME, resulting in the creation of new data or updates to existing data. Once this step is completed, it cannot be reversed.


Required CSV Files for Import

If you have an Individual membership program, you will need to import 2 files: Memberships and Customers. For every membership in the file, there must be a corresponding customer to prevent an orphaned membership. 

For Individual Membership data:

  • Memberships with cardholder information

  • Customers with address/contact information


If you also have a Corporate Membership program, organization memberships can also be imported to ACME. These memberships will allow you to transact against the corporate member record at the POS to honor corporate member employee discounts. You will need to import 3 files if you have corporate members in addition to individuals: Memberships, Customers, and Organizations. The Ooganizations file contains additional company contact data.

For Individual and Organization Membership data:

  • Memberships with cardholder information

  • Customers with address/contact information

  • Organizations with address/contact information


Remember: ACME does not allow a membership to exist without an associated customer!


How to Execute an Import


  1. Navigate to the Import Export feature area in the left side bar

    • In ACME Back Office, go to Settings > Import Export

  2. Select the Import tab.

  3. Click on the Import Job Name link in the jobs list. 

    • For Raiser's Edge Membership Imports use: "Raiser's Edge Import Job"

  4. Create job execution. 

    • Every time you are initiating a new import instance, you will create a new job execution.

  5. Choose files

    • Click on Choose File and select the file from your saved location.
    • It is recommended to use a consistent naming convention and file location for daily imports.
  6. Click Upload button to upload the file to ACME.
    • After uploading the file name will change to a link. If you uploaded the wrong file, you can select the "Upload new file?" button to choose another one.
  7. Stage Data.
    • The "Stage" button will activate once files are uploaded. It is activated when blue.
    • Click the "Stage" button to run the staging process. Once it completes, the Status will change to "Staged" and the "Validate" button will become blue and active.
    • Check for errors- this is the stage where any syntax errors in the mappings will become apparent.
    • If you encounter Staging errors, refer to Import Error Messages - Staging Step.
  8. Validate Data
    • Once the "Validate" button is blue and active, click it to run the Validate process. 
    • When Validate completes, there are three possible statuses:
      • Validation Failed:  100% of the rows in the file(s) failed. You will need to fix the errors, re-upload, and re-stage before proceeding.
      • Validation Completed with Errors:   at least 1 of the rows in the file(s) passed validation. The rows that passed validation will continue through the remaining import steps. The rows that failed Validation will not continue through the remaining steps.
      • Validation Completed:  100% of the rows in the file(s) passed. All of the rows will continue through the remaining import steps. 
    • If Validation errors are found, refer to Import Error Messages - Validation Step
  9. Import Data
    • The "Import" button will become blue and active if the import contains membership data and Validate has finished with a status of either "Validation Completed" or "Validation Completed with Errors"
    • Once the "Import" button is blue and active, click it to run the "Import" Process
    • If you encounter Import errors, refer to Import Error Messages


Note: If you close the ACME application while the import is processing, the job will continue to run.

Data Formatting Tips

  1. Avoid opening files with Microsoft Excel, which often inserts unwanted formatting to columns of data that may cause the files to break. If the files absolutely must be opened in Excel, follow these steps:
    • Select all
    • Clear Formats
    • Do not double click in any cell (this can cause formatting to come back)
    • Export as CSV
  2. All String data should be enclosed in a Double quotes ("), even if the data doesn’t contain a comma, or other delimiting character.  This is to ensure the accuracy of the data.  For example, "ACME Technologies, Inc.",”2020-01-01 12:30:00.000”. If a String includes a double quote as part of the string it should be replaced with two double-quotes.
  3. Empty fields should use the value NULL for String, and 0 for Numeric. Case Sensitive for NULL; treat NULL as the NULL Object, and Null as String type. NULL should NOT be quoted
  4. The first row of every CSV file should contain the appropriate header (detailed for each CSV file below)
  5. Each row in a CSV file has an ID field. This ID can be any value but must be unique for each line in the CSV file. IDs can sometimes just be a row index.
  6. Generally the ID of the object in the source system should be used. This ensures uniqueness of IDs that span multiple data migrations
  7. The IDs are used to represent associations by referencing rows from other CSV files, for example the Membership CSV contains a customer_id field that links it to the ID in the Customer CSV.


Error Handling

On occasion you may encounter error messages during the import stages. Please refer to the following articles about specific error messages per stage:


Import Error Messages - Staging Step

Import Error Messages - Validation Step

Import Error Messages - Import Step