Page tree
Skip to end of metadata
Go to start of metadata

SL Integration Introduction

Unanet provides three tools to integrate SL with Unanet.  This document serves as a high-level description of these tools and how they work together. The three tools are:

  • SLConnect:   SLConnect is an integration product developed by Unanet to flow data from Microsoft Dynamics SL to Unanet.  Projects, Tasks, People, and many other entities can be created and maintained in SL, then flow to Unanet on a scheduled basis in order to keep the two applications in sync.  The integration leverages Unanet's Integration Management Utility (IMU) to automate the imports into Unanet.

  • Unanet Export Templates:  Unanet Export Templates are part of the Unanet core product.  These templates can be customized to extract Unanet time and expense actuals, which can then be imported into SL using SL's Transation Import utility.  This interface is paired with SLConnect to provide the full bi-directional synchronization between the two applications.  

  • SLConnectWS:  SLConnectWS is an optional tool that also serves as an interface between SL and Unanet.  It uses the Web Services protocol to flow data in the opposite direction of SLConnect – flowing data from Unanet to SL.  There are currently just two entities that can flow: Projects and Tasks.  Companies can create and manage Projects and Tasks in Unanet rather than in SL, which is preferable for some organizations who  (1) prefer to have Project Managers creating Projects and/or Tasks in Unanet, rather than relying on the finance group to create them in SL, and/or (2) want to have proposal-stage Projects in Unanet, and only want them in SL once they become Active projects. 

This diagram shows how SLConnect and the Unanet Exports work together if the optional SLConnectWS is not being used: 

and this diagram shows how the 3 tools work together: 

SLConnect

SLConnect flows entities such as Projects and Employees from SL to Unanet, sending regular feeds of data from Unanet at defined intervals (e.g., every night at 2:00 am, or every hour).  Each time a scheduled run of SLConnect occurs, any data that has been added or changed in SL, such as a new employee, an updated employee, a new project or an updated task, is gathered, translated, and sent to Unanet. The steps in this process are: 

(1)   SLConnect is run on a schedule, and queries the needed data from the SL application database.  Using configurable mapping data, SLConnect transforms the data into the values desired for Unanet.

(2)   SLConnect writes the transformed data to CSV files, a format compatible with Unanet import capabilities.

(3)   SLConnect imports the files into the Unanet application database by using Unanet's Integration Management Utility (IMU).

 

The diagram below depicts the flow:

 

SLConnect Data Mapping Example

The table below shows an example of how SLConnect maps data between SL and Unanet.  This example shows a portion of the mapping definition for the Project entity.  The project record in SL maps directly to the Project in Unanet.  Each Project field is mapped from SL to Unanet, and usually transformed, translated, or formatted to generate the proper value for import into Unanet.  Many of the mappings and transformations can be configured via an easy-to-use configuration editor tool. 

Some of the values are transferred from SL to Unanet only once, when the Project has just been created, so that the values are maintained and controlled in Unanet rather than in SL.  Other values are transferred from SL to Unanet as updates each time SLConnect runs, so that the values are maintained and controlled in SL.

 

SL Screen

SL Screen Field

Translation

Insert (new only), or

Update (if changed)

Unanet Field

PA.PRJ.00

Project Status

SL value is translated to a valid Unanet project status value.

INSERT

Project Status

PA.PRJ.00

Project Company Id and Project Subaccount

The SL Company ID is concatenated with segments of the Project Subaccount to form the Unanet Owning Organization.  The segments that are to be transferred are defined in a configuration table.

INSERT

Owning Organization

PA.PRJ.00

SL Customer from the Project Maintenance screen

Customer or Subaccount, as defined in a configuration table.

INSERT

Project Organization

PA.PRJ.00

Project

A configurable formatting  mask is applied to the SL Project Code to derive the Unanet Project Code.

INSERT

Project Code

PA.PRJ.00

Description

Direct transfer of this value.

INSERT

Project Title

PA.PRJ.00

Project Contract Type or Utilization Type

Either value may be used to derive Project Type.  This is configurable. 

INSERT

Project Type

PA.PRJ.00

Project Contract type

Mapped through a configuration table.

INSERT

Billing Type

PA.PRJ.00

SL Project Manager

PM is defaulted to Unanet administrator or SL Project Manager, as defined in a configuration table.

INSERT / UPDATE

Project Manager

NONE

none

Default Cost Structure = Company + ”-Cost Structure”

INSERT

Cost Structure

PA.PRJ.00

Labor Account

No transformation

INSERT

Account Number

NONE

none

Set as Default in a configuration table.

INSERT

Manage at Task Level

NONE

none

Set as Default in a configuration table. ‘Y’

INSERT / UPDATE

Require Tasks for Time Reporting

NONE

none

Set as Default in a configuration table. ‘Y’

INSERT / UPDATE

Require Tasks for Expense Reporting

NONE

none

Set as Default in a configuration table. ‘N’

INSERT

Assign Self Plans

SLConnect ODC Interface for Project Expenses

In addition to synchronizing the standard entities listed above, SLConnect also provides functionality for exporting direct project costs (known as “Other Direct Costs”, or “ODCs”) from SL and importing them into Unanet.  These ODCs are direct project costs (such as travel expenses and project supplies) that originate in SL; they are expenses that do not originate in Unanet via a user expense report.  By bringing these ODCs from SL into Unanet, Unanet reports will have a full picture of Project costs:  Labor, Direct Costs that originate in Unanet, Direct Costs that originate in SL (ODCs), and Indirect Costs.

The ODC interface is part of the standard SLConnect interface and is scheduled to run at the same time as the standard imports of Projects, People, Tasks, and the other entities listed above.

SLConnect Configurability

SLConnect is highly configurable in terms of how data can be mapped and transformed as it flows from SL to Unanet.  Many configuration options are available to define how this mapping and transformation occurs.  For example, there are many options for how the Unanet Username is derived for a new employee entered in SL – e.g, based on the person's first name + last name, or based on the SL Employee ID.  Most of these configuration values are established as part of the product’s initial installation, but many of the values can be easily changed over time to support changing business needs.  

The SLConnect Configuration Editor, shown below, is the easy-to-use UI for entering and maintaining these configuration settings.  Shown here is one of the 9 categories of options that can be set:

Unanet Export Templates

Unanet Export Templates are part of the Unanet core product.  These templates can be customized to extract Unanet time and expense actuals to CSV files that are in a format acceptable to SL.  The CSV files can then be imported into SL using SL's Transation Import utility.  The export from Unanet and the import into SL are accomplished manually by the user.  This interface is paired with SLConnect to provide the full bi-directional synchronization between the two applications.

For more information about the SL Template please refer: SL - Export Templates for SL Import

Typical exports include:

 

Journal Transactions

Unanet Exports:

    • Company Paid and Corp Card type expenses to SL General Ledger 
    • Employee Labor to SL General Ledger
    • Subcontractor Labor to SL General Ledgers

Accounts Payable

Unanet Exports:

    • Employee Reimbursable expenses to SL Accounts Payable
    • Subcontractor Labor to SL Accounts Payable

SLConnectWS

SLConnectWS is an optional product that serves as an interface between SL and Unanet.  It uses the Web Service protocol to flow data in the opposite direction of SLConnect – flowing data from Unanet to SL.  

  • There are currently two entities that can flow: Projects and Tasks.   

  • SLConnectWS is currently being extended to allow the flow of three more types of data from Unanet to SL:  AP, GL, and Project Charge Entry (PCE) transactions.  When this interface is released, it will serve as a replacement for the SL Transaction Import utility for these three types of transactions. Users will export Unanet data using the Export Templates, but the data will flow into SL behind the scenes without user involvement, allowing for a more streamlined process.

Business Drivers

There are two main reasons why SLConnectWS might be chosen to be part of the interface:

  • The SLConnectWS interface enables Project Managers to have more control over creation and management of Projects and Tasks in Unanet. Companies may prefer to have Project Managers creating Projects and/or Tasks in Unanet, rather than relying on the finance group to create them in SL.  This removes a potential bottleneck in the process, and also gives PMs more control over their projects. 

  • The SLConnectWS interface keeps proposed or sales-phase projects out of the Accounting system.  The system can be configured to flow Projects SL after they change status and become Active. 

Coordination with SLConnect

With SLConnectWS, it is possible to flow both Projects and Tasks from Unanet to SL, or to flow just Tasks.  Options are:

  • Option 1:  Create both Projects and Tasks in Unanet.  Both flow from Unanet to SL.  With this option, SLConnect flow of Projects and Tasks is halted, so that SLConnect flows only Employees, Approval Groups, ODCs, etc.  The diagram shows Option 1:


  • Option 2:  Create Projects in SL if it is preferred that the Finance group control Project creation in SL.  Once the project flows to Unanet, then PMs can create Tasks in Unanet, which then flow back to SL via SLConnectWS.  With this option, SLConnect flow of Tasks is halted, so that SLConnect flows only Projects (and the other entities).    

SLConnectWS Data Mapping

The table below shows an example of how data is mapped between SL and Unanet for SLConnectWS. This example shows a portion of the mapping definition for the Project entity.  About 10 fields are able to flow for the Project, and transformations of the data are possible via the Unanet Export Template. For example, the template can be set to flow only Active Projects, or can convert Unanet status values to match the status values in SL.

Unanet TabUnanet FieldExample Unanet ValueTransformationSL FieldExample SL Value
Profile TabProject CodeNoneProject
Profile TabProject TitleNoneDescription
Profile TabProject OrganizationNoneCustomer
Profile TabProject StatusOpen (Active)Convert status values as needed.  Only flow tasks where Status is Active. 
Can add hidden field to only flow Completed Projects for X days beyond project end date.
Status Proj Controller(Checked)
Profile TabProject TypeTMNoneUtilization TypeTM
Other TabeSL Manager ID (Hold in UDF)NoneManager
Profile TabAccount NumberNoneLabor Account
Profile TabGL Subaccount (Can pull from anywhere)NoneGL Subaccount
Budget TabRevised Begin Date2013-12-20Remove time via Format Start Date2013-12-20
Budget TabRevised End Date2014-12-20Remove time via Format End Date2014-12-20

 

SL Integration Technical Overview

SLConnect Technical Overview

The SLConnect package is deployed to the SL Application database server, and consists of these components:

    • A set of Windows batch files that control the overall flow of the interface
    • A suite of SQL Server database stored procedures, functions, and tables that are installed on the SL Application database
    • The Unanet Help Docs - Integration Management Utility (IMU), a tool which manages Unanet data imports and exports
    • The SLConnect Configuration Editor UI (shown above), which is a Java UI 
    • Unanet Export templates.
       

A series of batch files is set to be regularly invoked by the Windows Task Scheduler.  They can be invoked as frequently as every 15 minutes, but more typically are run every 30 or 60 minutes.  The batch files first call the IMU to extract data from Unanet (using Unanet Export templates) to be used as reference data (e.g., so that we know what projects already exist in Unanet, and can determine which projects are new versus which need to be updated).  The batch files then call the SLConnect database functions that select data from the core SL tables using the defined configuration settings/rules.  The batch files then write the selected data to CSV files in a format that is acceptable to Unanet.  Finally, the IMU imports the CSV files into Unanet, and provides error handling and email alerts to chosen end-users.   

SLConnectWS Technical Overview

SLConnectWS first relies on the installation of Microsoft Dynamics SL's Web Services module.  This module is sold as part of SL at no extra cost, but needs to be installed as a separate effort.

The SLConnectWS package is then deployed to the SL Application database server, and consists of these components:

    • A Java program that calls SL's Web Services module
    • XML files that define the layout of the files to be sent to SL
    • The Unanet Help Docs - Integration Management Utility (IMU), a tool which manages Unanet data imports and exports
    • Unanet Export templates to export Projects and Tasks from Unanet.
       

The IMU is set to be regularly invoked by the Windows Task Scheduler.  This can be invoked as frequently as every 15 minutes, but more typically are run every 30 or 60 minutes.  The IMU calls the Export Templates to export Project and Task data from Unanet.  The IMU then calls the SLConnectWS Java program, which calls SL Web Services to import the data for insert/update.  The Java program generates a results/error log, which the IMU emails to chosen end-users.

 

  • No labels