Accorto makes importing data easy - see also Import T+E Items
You can import data (e.g. T+E Items, ...) via
- DataLoader
- Accorto Import (csv)
- Send email with csv attached
The disadvantage of the Salesforce DataLoader is that it requires the ID of references.
Accorto allows you to import csv files with or without headers. You can also define column mapping if it cannot be derived from the header.
The description of the actual T+E Item import functionality: T+E Items
Import Parameter
In > Setup > Custom Settings - select Manage for Accorto Import Parameters
An example of Uber Trip billing report:
Import CSV class reference
The Apex class to handle the import. The class ImportCSV_Base is a generic class to handle headless import files. If you need more customization, you can extend the class (like accorto.ImportCSV_Uber). The attached class example is a good start.
Header Line
If the csv has a header line, enter the zero-based index. By default, it is "0" - the first line. In the example, Uber has 5 lines of prefix (similar to Salesforce csv export files), so the header line is the sixth line.
If you enter -1, the file has no header line.
Many import files have some header, which does not allow to map the content. So you can overwrite here the column mapping using the comma separated API names (field names without prefix ending with __c) in lower case.
Example header in file:
"Hours worked", "Something to ignore", "Project Code"
Header Line:
hours__c, , project__c
Ignored columns just leave empty.
Import Custom Columns
You can import custom columns. Enter the API names (ending with __c) your custom columns separated by a com
Require and Defaults
You can require certain information like Project, Resource, or Activity Type. If it is required but the information in the csv is invalid, the import will fail.
If the csv file does not have the information, the default is used. You can specify this behavior in more detail in a Custom Import CSV apex class.
Do not use the "Id" fields, they are internal and user input is ignored.
Do not use the "Id" fields, they are internal and user input is ignored.
- The Project default value can be the Project Name or Code - or "ProjectName: LineName" where ProjectName is the project name or code followed by ": " (colon-space - and the Project Line Name or WBS.
- The Resource default value can be the Resource Name, Code, Email or Authorization Name
Matching
If you have multiple import parameter sets (and import sources), the Match Keywords and Match Min.Score help to select the right import parameters.
The keywords are comma separated. If the keyword is part of the file name, it scores 2 per hit; if it is found anywhere in the file body, it scores 1.
The parameter with the highest score is used. A score of 0 ignores the Input parameter.
Stop Line
If the import file has a trailer like typical Salesforce csv exports, it will create import errors as the content cannot be mapped. For this situation enter the first part of the first trailer line. This line and the following will be ignored for import.
Custom Import CSV class
A Custom Import Class allows you to concatenate fields, convert values, and handle how not found references are handled.
See attached example code.