Configure the Universal Punches Import Integration
How to configure connection settings, process properties, cross-reference tables, and data maps for this integration.
This topic describes how to configure this integration.
This integration imports punch data from a flat file.
Universal integration packs exchange data by way of flat files, either to export data to the file or import data from the file. Other systems access the data in these flat files to complete the import or export integration. The default settings allow rapid configuration and runs of the integration process, while the exposure of the data maps and cross-reference tables in the extensions allows overrides and customizations of the default data mappings or values.
Before you start
Before you start to configure the Universal Punches Import integration.
Deploy the PunchImport integration pack; see Deploy Integration Packs to your Atom.
Configure the integration
How to configure this integration.
Select the environment
-
Open the Integration Template Designer: Select Main Menu
.Note: If prompted, enter your Username and Password. Click Tap Log in. - Select the Manage tab > Atom Management.
- Select your environment.
Select environment extensions
- In Administration, click tap Environment Extensions.
- In
Process Filter,
click tap
the magnifying glass
. It can take several seconds before the button becomes active. - Scroll to and select the integration pack: .
Configure connection settings
- Select Connection Settings.
-
From the Connection dropdown list, select and configure:
Connection Settings
Connection Settings for the Universal Punches Import integration
Setting
Required
Actions
APIGatewayServer
Required
To change the default API gateway server:
- Clear Use Default.
- Enter the URL to the server.
Example:
<tenantURL>/api
SFTPServer
Required
The SFTP server setting defines the connection to the file that contains the records. Integrations access only the internal SFTP account.
To change the default SFTP server parameters:
- For each field, clear Use Default.
- Enter the following values:
-
Enter the name of the internal Host.
-
Enter the number of the Port for the internal SFTP account.
-
In User, enter the username for the internal SFTP account.
-
In Password, select <Encrypted>. Enter the new password for the internal SFTP account.
-
Click Tap Apply.
-
Configure process properties
Process properties apply globally to all records that an integration processes. When you install the integration, you can define the parameter values or configure a prompt for the user to define the value when they run the integration.
- Select Process Properties.
- Edit the properties:Caution: Do not edit the default values of the AuthenticationProperties. By default, cookies are enabled and set the values for authentication properties.
Only while you test or design integration templates, should you edit the properties to connect to the authentication server and get the access token to execute APIs.
- From the Process Property dropdown list, select PunchImport-v1_CRTConfig to define headers in cross-reference tables.
Cross-reference tables (CRT) are the look-up tables that the integrations use to translate parameter values. One or more data values from the source system can be used to assign one or more parameters in the destination system.
Caution: The Boomi™ application does not return default values for cross-reference table headers. You have to enter the headings in Value.Note: For details, see Configure cross-reference tables.In _PunchImport-v1_PunchImportTimezoneLookup:
- Clear Use Default.
- In Value, enter the headers, separated by commas (
,
) but no spaces, exactly as shown below the Value field. You can select and copy the headers from the screen, then paste them in the Value field.
- From the Process Property dropdown list, select PunchImport_ProcessProperties to set process properties that must be configured before the integration can run.Caution: If you select Use Default for the connection settings and process properties, ensure that Value is blank. If Value is not blank, that value overrides the default value whether or not Use Default is selected or cleared. Example: If the default value is abc, but Value shows xyz, the integration uses xyz regardless of the setting of Use Default.
Process Properties
Process Properties for the Universal Punches Import integration
Property Required Actions EnableTransactionAssistant Not required Default = true
To not submit import errors to Transaction Assistant:
- Clear Use Default.
- Select Value.
BatchName Not required Default =
PunchImportTo change the value:
- Clear Use Default.
- Select Value.
- Enter the batch name to group the failed records in Transaction Assistant.
RunSinglePunch
Caution: Enable only one of RunSinglePunch, RunDualPunch, or RunDualPunchPCE.Not required To import punches from the SinglePunch file:
- Clear Use Default.
- Select Value.
RunDualPunch
Caution: Enable only one of RunSinglePunch, RunDualPunch, or RunDualPunchPCE.Not required To import punches from the DualPunch file:
- Clear Use Default.
- Select Value.
RunDualPunchPCE
Caution: Enable only one of RunSinglePunch, RunDualPunch, or RunDualPunchPCE.Not required To import punches and paycode edits from the DualPunchPCE file:
- Clear Use Default.
- Select Value.
CustomTransferProcessing Not required Assume that the full path of the organizational transfer is in the Account column of the input file.
To form the organizational transfer path appending the Home Job to the path in the Account column of the file:
- Clear Use Default.
- Select Value.
UpdateExistingPunches Not required Default = true
- If true, the integration imports and replaces only updated punches from the input file.
- If false, the integration deletes all existing punches and imports the punches from the input file.
- From the Process Property dropdown list, select PunchImport_SFTPProperties.
Select:
SFTP Properties
SFTP Properties for the Universal Punches Import integration
Property Required Actions SourceDirectory Required The directory path on the SFTP server where the integration process reads the file.
Default = Use the/Inbound
directory.Caution:Do not change the name of the folder from
Inbound
. Additional or differently named folders are not supported by .To define a different directory path:
- Clear Use Default.
- Enter the path to the directory. Caution: Make sure that this directory is configured on the SFTP server.
SinglePunchFileFilter Not required Read the file of single punches.
The name of the file that contains the data to import.
Default = true, use the default file name.
To define a different file name:
-
Clear Use Default.
- Enter the filename. Use a
.csv
extension.You can use the asterisk (
*
) or question mark (?
) as wildcard characters to enter patterns of file names so that the integration reads only files that have names that match this filter.
Default =
SinglePunch.csv
.RunSinglePunch must be set to true.
DualPunchFileFilter Not required Read the file of dual punches.
The name of the file that contains the data to import.
Default = true, use the default file name.
To define a different file name:
-
Clear Use Default.
- Enter the filename. Use a
.csv
extension.You can use the asterisk (
*
) or question mark (?
) as wildcard characters to enter patterns of file names so that the integration reads only files that have names that match this filter.
Default =
DualPunch.csv
.RunDualPunch must be set to true.
DualPunchPCEFileFilter Not required Read the file of dual punches and paycode edits.
The name of the file that contains the data to import.
Default = true, use the default file name.
To define a different file name:
-
Clear Use Default.
- Enter the filename. Use a
.csv
extension.You can use the asterisk (
*
) or question mark (?
) as wildcard characters to enter patterns of file names so that the integration reads only files that have names that match this filter.
Default =
PCEMix.csv
.RunDualPunchPCE must be set to true.
_OutputDirectory Not required Directory on the SFTP server where the destination file is archived after processing.
Default = use the default/Outbound
directory.Caution:Do not change the name of the folder from
Outbound
. Additional or differently named folders are not supported by .To define a different directory path:
- Clear Use Default.
- Enter the path to the directory. Caution: Make sure that this directory is configured on the SFTP server.
_MoveProcessedFileToDirectory Not required The directory on the SFTP server to move the destination file after data is successfully uploaded.
Default = true, use the default directory.
To define a different directory path:
- Clear Use Default.
- Enter the path to the directory. Caution: Make sure that this directory is configured on the SFTP server.
_DeleteSourceFileAfterReading Not required Default = false; do not delete the source file after processing.
To delete the source file but archive it to _DestinationDirectoryPath:
- Clear Use Default.
- Select Value.
Configure cross-reference tables
Cross-reference tables (CRT) are the look-up tables that the integrations use to translate parameter values. One or more data values from the source system can be used to assign one or more parameters in the destination system.
A cross-reference table (CRT) translates parameter values in an integration as follows:
- Organizes data values into rows and columns:
- Maximums = 20 columns, 10,000 rows.
- Can combine values from multiple columns to determine a single output value.
- If more than one row matches a reference value, the first match is the output value.
- If no match is found, the output value can be null, or the integration can produce errors.
-
Caution: For the cross-reference tables that you are customizing, make sure that Use Default is not selected in , and that the headers are defined.
- Select Cross Reference.
-
From the
Cross Reference dropdown list, select
PunchImportTimezoneLookup.
You cannot change the name of the table.
Column headers:
Name,Id
-
Select Override to:
- Download the tables when you run the integration
- Edit the table cells in Extensions
Configure data maps
(Optional)
A data map translates a data structure from the source format to the destination format. Examples: Map "PersonID" in the source to "Person ID" in the destination or "LastName" to "Last Name".
Each integration pack has a default data map. Editing of the default map is limited to adding fields, changing mappings, or inserting functions. Any changes override the previous values. If the predefined fields do not suite your requirements, use the default map as a guide when you create your custom data map.
Known issues
- The timecard collects punches from schedules which interfere with punch imports. Before importing punches, delete the schedules for the targeted employees and time periods.
- The timecard does not import break rule overrides, and these overrides break the timecard.
- Bad paycode IDs incorrectly trigger a system error rather than an API error.
- You cannot delete the first punch of a pair because it becomes a purple in-punch. Comments that are attached to these punches are not imported.
- A duplicate punch error incorrectly triggers a "duplicate comments not allowed” error.
- Select Data Maps.
-
From the Data Maps dropdown list, select one of the following:
- DualPunchesCSV—DualPunchesCSV
- DualPunchesPCECSV—DualPunchesPCECSV
- PunchCSV—PunchCSV
-
Select
to expand or
to collapse levels.To expand all levels, right-click the green boxes icon
. Select Expand All
.The lines show the links between fields in the source (left side), any intermediate functions, and the destination (right side).
-
(Optional)
Caution: The default mappings are developed and tested based on best practices. If you make changes, you may get unexpected results. Modify and test carefully.-
Change mappings — When you customize a default data map, you can add fields only to the end of the map.
You can select and drag to change the links between the source (left column), function (middle column), and destination (right column) items. A single source field can link to multiple destination fields, but a destination field can link to only one source field.
-
Transform the data — A map can include intermediate functions that transform the data. Examples: Perform mathematical calculations on the values or get values from a cross-reference table.Note: To override a field — for example because you cannot delete it from a default map — insert a function that has a null output.
- In Function,
click tap
the plus button
to add an intermediate function. - From Category, select a category of functions:
String — Trim, add to, concatenate, replace, remove, split, or change the case of text.
Caution: Do not use special characters such as angle brackets (<
or>
) in data in cross-reference tables, data maps, and input files. These characters can make the integration fail.Numeric — Perform mathematical calculations on the data.
Date — Change the format or get the current date.
Lookup — Get data from a cross-reference table (CRT), document cache, SQL query, or define a key-value change.
Connector — Call a value from a connector to an application or data source.
Custom Scripting — Transform data by way of Groovy or JavaScript code.
Properties — Get or set process or document properties.
- Select the function from the list in the selected category.
- Click Tap OK.
- If prompted in Configure Defaults, enter the relevant values. Select a Caching. Click Tap OK.
- Select and drag from a source field to an input of the function.
- Select and drag from the output of the function to a destination field.
- Repeat to add another function.
- In Function,
click tap
the plus button
-
Change mappings — When you customize a default data map, you can add fields only to the end of the map.
- When you finish, click tap OK.
Default files for Punches Import
Base integration: PunchImport-v1
Default source files:
-
SinglePunch.csv
= Single punches. -
SinglePunch_crossdaydivide.csv
= Single punches that cross the day divide. -
SinglePunch_jobtransfer.csv
= Single punches for transfer jobs. -
DualPunch.csv
= Dual punches. -
PCEMix.csv
= Dual punches and paycode edits.
Design of the Universal Punches Import integration
This section provides detailed information to help you to assess whether this integration meets your business needs.
Punch integrations must ensure that incoming punches are displayed and interpreted correctly in the timecard as In, Out, Type, or Missing. The pay rules and schedules that are assigned to the employees distribute the durations to the right accounts and paycodes.
- All imports are bulk because the source file lists many employees each with multiple punches.
- Maximum of 500 employees and 5000 paycode edits for each integration run.
This integration pack contains the following integrations:
- Punches only:
- Punch with employee ID, punch date and time
- Punch with override type
- Punch with the override type derived from the relationship of the punch to other punches or the day divide
- Punch with the override type derived from the account transfer of the punch
- Punches that are on the same row of the source file and that must be transformed into one row for each punch
- Punches with paycode edits:
- Non-canceling paycode edits
- Labor account transfers
- Work rule transfers
- Comments and notes
- Time zone, daylight savings
- Update existing punches with new attributes
- Filter out duplicate punches
Approaches to punch imports
-
Hands Off
Only the source file provides the punches. Upon import, the timecard sequences the punches based on date and time. However, interpretation and display of the punches is based on the pay rule and schedule.
If a punch is missing, the interpretation can be incorrect.
Example:
This set of punches are interpreted as In Out In Out:
21003, 5/3/2016, 0700
21003, 5/3/2016, 1800,3100
21003, 5/3/2016, 1900
21003, 5/3/2016, 2100
A Missed Out Limit Rule of 10 Hours results in the following interpretation:
Example hands-off punches
Example hands-off import punch totals
Date
In
Out
Tues 5/03
7:00 am
missing
Tues 5/03
6:00 pm
7:00 pm
Tues 5/03
9:00 pm
missing
A manager must manually override this interpretation if it is incorrect.
-
Override
Assign each punch a Type, or derive the Type from the punch sequence within each pair of punches or by the punch's relationship to the day divide or whether the punch carries an account transfer.
Punch override types
- Break
- In punch
- New shift
- Out punch
The following punches:
21003, 5/3/2016, 0700, In
21003, 5/3/2016, 1800, Out
21003, 5/3/2016, 1900, In
21003, 5/3/2016, 2100, Out
Are interpreted as follows:
Example punch overrides
Example punch override totals
Date
In
Out
Tues 5/03
7:00 am
6:00 pm
Tues 5/03
7:00 pm
9:00 pm
Updates
When punches from the source file are already in the timecard, perhaps from a previous import, from a data collection system, or manually added, the API generates errors for the duplicate punch records.
Updates of existing punches may be needed if the new versions have an added account transfer, comment, or other attribute.
To suppress the errors, integrations can identify and delete the duplicate punches from the timecard then import them again from source, or exclude the duplicate punches in the source file. First, the integration must retrieve, cache, and look up the existing punches.
Validation
Punch imports are validated to make sure that:
- The employee is configured.
- The punch contains both a date and a time.
- The date of the punch is on or after the employee's current active status date.
- Attributes of the punch, such as a business structure account transfer, a work rule transfer, a comment, or a time zone, are in the relevant data dictionaries.