This blog is part 2 of a my short series on building a CLM contract repository. The first posting can be found An Overview of the CLM Contract Load Tools.
The contract loading process provided by CLM consists of a set of templates that allow for the creation of data and the import of file attachments. These tools make it straightforward to get large amounts of contract data into CLM so that the contract repository includes legacy contracts.
From my experience and observations, the successful contract loads are the ones that are executed as a project where the scope and goals are clearly defined, understood, and agreed to by the team; sufficient education and training is provided to the team members participating in the collection and creation of the data; adequate time is allocated for testing the data imports and ensuring the resulting CLM system shows the data as expected. A successful contract load project will consider all these aspects and build a plan to manage them.
Clearly defining and agreeing upon the contract load scope is probably the most important key to success of a contract load. Far too often, the value of defining the scope is discounted which leads to project slips, re-work, and, worse yet, a contract repository that does not meet the needs of the users.
Here are some important questions to answer to help establish the scope of the contract load:
- How many contracts will be loaded? Will they all be done at once or in multiple waves?
- Where is the contract data now? Is it easily accessible?
- How will the contract data that is available be transformed into the data formats required by CLM?
- Will contract image files (aka attachments, documents) be loaded?
- Which contract image files will be loaded? Just the agreement? Other supporting documents? Drawings? Price lists?
- How will the contract image files be collected?
- Can the contract image files be easily associated with the contract data?
- Is the supplier data cleansed? If not, will any effort be made to cleanse supplier data?
- CLM requires a supplier contact for each contract. Do such contacts exist? Can those contacts be appropriately mapped to the suppliers?
- What approach will be used to create “generic” contacts for those suppliers where there is no known contact?
- There are many master and configuration data references that can be made on the contract. Those include: Product Category, External Category, Location, Plant, Payment Terms, IncoTerms, Purchasing Orgs, Purchasing Groups, Company Codes, Currencies, Units of Measure, Materials, Companies, and Organizational Units. Which of these will be used? How will the contract data be validated to ensure it uses valid master and configuration data?
- Will contract line items be loaded?
- Where will the line item data come from?
- Have any extensions been made to the contract data that also requires loading?
- How will the contract image files be made available to the application? ZIP file upload? FTP?
- Will the legacy contracts be integrated with an SAP backend? A non-SAP backend?
From what I have observed, a common scope for the contract import is:
- Contract data and documents will be loaded
- Only minimal master and configuration data will be loaded on those contracts (For example: Currency, Category, Company, and Organizational Unit)
- Line items will not be loaded
- Only minimal supplier cleansing will be performed
- Generic supplier contacts (to address the CLM requirement for a contact) will be created
This is not to say that this is the ideal scope for contract loads, but rather a representation of what I have seen as a common approach.
Once the scope is defined, it is critical to build a project plan (Yes, “Contract Load” should be more than 1 line item on the larger CLM implementation plan). A project plan is critical to ensure that expectations are properly set relative to the time and effort required to build the contract repository.
Using many of the questions from the scoping exercise, I have put together a comprehensive set of tasks that are required for the contract load. In the appenix at the bottom of this post, you can see all of the tasks listed out, along with a description of the task. I can also provide a CSV version of this task list that can be loaded into the CLM project module. Email me if you would like that.
CLM Master and Sub Agreements utilize several master and configuration data elements (e.g., Currencies, Product Categories, Locations). In many cases, the contract load initiative will influence these master and configuration data elements. Often times, loading this master and configuration data is accomplished most easily using CLM import files.
CLM provides comma separated value (CSV) import files fort most master and configuration data. The CSV files can be created off-line and easily imported into CLM using the “import data” capability accessed from “setup”. In addition to importing standard fields provided with CLM, the import processor also supports importing extension fields that may have been added during the implementation.
For the master and configuration data where more than 10 (just an approximation) rows will be loaded, it is recommended that the data be created through the import files. If only minimal data will be created, then it can easily be accomplished in the setup area of CLM.
It is important that the users creating the data familiarize themselves with each of the import file specifications. The file specifications can typically be found in the “deployment workbooks” which are accessed from the “reference guide” (link at the top of the CLM user interface). Each worksheet in the deployment workbooks represents the file format for an object; the sheet can be saved off as a CSV file and used to collect the data for import. The one exception to this is the contract import files; those templates can be downloaded from the Contract Data and Document Importer accessed from setup > document setup.
CONTRACT IMAGE FILES
The contract image files are the files that will be attached to the master or sub agreement in CLM. Typically these will be loaded into CLM as contract documents associated with the relevant agreement; alternatively, the image files can be loaded as attachments on the agreement.
A large component of work associated with the contract image files is the collection, organization, and agreement association of the image files. In some cases, it may be necessary to extract these image files from a legacy system; in other cases, it may be a matter of collecting these image files from file server(s). Regardless of the source of the image files, plenty of time should be allocated to collect all of the files and associating the image files with the appropriate agreement that will be created in CLM.
A very good approach to collecting and organizing the image files is to create a file system directory structure and create a folder for each agreement (e.g., using the ID as the folder name). This structure makes it easy to specify the file name specification in the import CSV files, which is a relative path to the file.
Another aspect of preparing the image files is deciding how those image files will be made available to the CLM application. There are three options for this:
- Upload the files one by one (only useful if the import is for a very small amount of contracts)
- Create a ZIP file for a “set” of agreements and upload the ZIP file
- Make the files available on an FTP server (either a SAP hosted FTP server for Hosted and OnDemand deployments, or a local FTP server for On-Premise deployments).
The most common approach is the second (using ZIP files). It is best to create a set of ZIP files that are 50MB or less in size. Each ZIP file will have all of the image files to be loaded for a single CSV file. As a result, it will likely be necessary to create “bundles” of the agreements that consists of a CSV file for the data and a ZIP file with the image files.
EXECUTING THE CONTRACT IMPORTER
The Contract Data and Document Importer is the tool within CLM that enables the load of contract data and documents. It is accessed from setup > document setup. This tool was introduced in version 7.
When the user first enters this area of CLM, they can download the templates and also view the results from previous data imports.
The tool is a wizard (step by step) interface that walks the user through the process. A very useful capability introduced with this tool is the ability to “simulate” the contract load. The simulation will process the import files, but not actually persist the data. This allows the user to identify any potential issues with the data import.
The importer tool provides the user with options to indicate whether the import is just data or data and documents, where the documents exist (ZIP file or FTP server) and provides a preview so that the user can confirm that the data fields in the CSV file match the available fields in CLM (including extension data).
The user has the option to receive email notifications on a periodic basis to view progress of the import and can view detailed results at the end of the process, including a newly generated CSV file with only those contracts that failed to import.
When the contract import process is complete, the results of the procedure can be reviewed and any necessary corrective actions can be taken.
Over the past few years, many companies have successfully built their contract repository using these (as well as other custom) tools. Many of the lessons learned from those experiences are included in this article and the accompanying project plan.
Please comment with questions, comments, or to share experiences.
APPENDIX: PROJECT STEPS
|1||Kick Off Meeting||Kick off meeting that includes all members of the team that will be preparing and for the contract load. The meeting covers the goals and objectives of the load as well as the overall timelines. Establish scope which may include phases for the load.|
|2||Preparation for Education / Training||Preparation for the training involves creation of appropriate training materials, preparation of the import file templates, and any other information needed for the members to be properly enabled for their assigned tasks.|
|3||Education / Training||Training and education for all members of the team. This includes how the data should be collected and prepared for the load. The training also covers the CLM import file specifications and techniques that will help the users create the import files.|
|4||Preparation of Currencies||Ensure that all required currencies are available in the system or have an appropriate import file created for them.|
|5||Preparation of Units of Measure||Ensure that all required UOMs are available in the system or have an appropriate import file created for them|
|6||Preparation of Product Categories||Ensure that all required Product Categories are available in the system or have an appropriate import file created for them. If using an SAP-backend, typically the Product Category is the Material Group.|
|7||Preparation of External Categories||Ensure that all required External Categories are available in the system or hava an appropriate import file created for them (NOTE: External Categories are often not used).|
|8||Preparation of Contract Phase Cfg.||If importing the related attachments, at least one Contract Phase Configuration must be setup and associated with the Contract Document Types.|
|9||Preparation of Companies||Ensure that all required Companies are available in the system or have an appropriate import file created for them|
|10||Preparation of Locations||Ensure that all required Locations are available in the system or have an appropriate import file created for them|
|11||Preparation of Organizational Units||Ensure that all required Organizational Units are available in the system or have an appropriate import file created for them|
|12||Preparation of Purchasing Orgs||Ensure that all required Purchasing Orgs are available in the system or have an appropriate import file created for them (NOTE: may not be necessary if non-SAP backends).|
|13||Preparation of Purchasing Groups||Ensure that all required Purchasing Groups are available in the system or have an appropriate import file created for them (NOTE: may not be necessary if non-SAP backends).|
|14||Preparation of IncoTerms||Ensure that all required IncoTerms are available in the system or have an appropriate import file created for them|
|15||Preparation of Transaction Types||Ensure that all required Transaction Types are available in the system or have an appropriate import file created for them (NOTE: may not be necessary if non-SAP backends).|
|16||Preparation of Payment Terms||Ensure that all required Payment Terms are available in the system or have an appropriate import file created for them|
|17||Preparation of Company Codes||Ensure that all required Company Codes are available in the system or have an appropriate import file created for them (NOTE: may not be necessary if non-SAP backends).|
|18||Preparation of Plants||Ensure that all required Plants are available in the system or have an appropriate import file created for them (NOTE: may not be necessary if non-SAP backends).|
|19||Preparation of Master Agreement Types||Ensure that all required Master Agreement Types are available in the system or have an appropriate import file created for them|
|20||Preparation of Contract Document Types||Ensure that all required Contract Document Types are available in the system or have an appropriate import file created for them|
|21||Test imports of Master / Cfg Data||Each import file that is created for the master and configuration data should be tested. The testing should begin with just a few rows for data (< 5) to ensure the basic format and structure of the file is correct. Eventually, it is best to load all data that is in the import files to ensure there are no issues. Validation of the results should be performed by selectively reviewing the imported data in the user interface to ensure it is correct.|
|22||Preparation of Materials||Prepare import file for all materials that will be referenced on contract line items (NOTE: Materials are not required and often not use for legacy load).|
|23||Test imports of Materials||Test the import of the materials file to ensure it loads successfully. Start with just a few rows of data (< 5) then proceed to test the full import. Validate the data by checking the material object in the CLM user interface.|
|24||Preparation of Line Items||Prepare import file for all contract line items that will be loaded. The contract line items must refer back to the containing Master or Sub Agreement. Ensure these references are correct by coordinating with the person creating the agreement import files (NOTE: It is not a requirement to load line items and they are often not loaded).|
|25||Preparation of Suppliers||Prepare import file for all suppliers that will be required for all contracts. Ensure that any parent / child relationships are included in the import files. Also ensure that any attributes (e.g., business classification information) have been set in the import files. Ensure the EXTERNAL_ID column is properly populated and communicated to the team creating the contract import files as this is the field that is referenced in the contract import files.|
|26||Preparation of Supplier Contacts||Prepare import file for all supplier contacts that will be referenced by all contracts. This may include creating "generic" contacts for suppliers where there is no known contact.|
|27||Test imports of Suppliers / Contacts||Begin by doing a test of just a few suppliers in the created import file. Ensure that the data is populating in the correct fields by checking the user interface for the import suppliers.|
|28||Preparation of Master Agreements / CDs||Prepare the import file for the master agreements. This includes populating all of the CLM required data as well as any data specifically required. Additionally, if contract image files are being upload, the file specification (FILE_NAME column) needs to be provided. Coordination with the person collecting the contract image files is also necessary to ensure that the ZIP files correspond to the contents of the master agreement CSV. That is, if a ZIP file for contract images is for 10 master agreements, a separate CSV for those 10 master agreements is required. The import should be done in bundles such as this to conform with the recommended ZIP file size of 50MB. |
If the data being collected is global in nature and contains international characters, the metadata files should be created as Unicode files.
|29||Preparation of Sub Agreements / CDs||Prepare the import file for the sub agreements. This includes populating all of the CLM required data as well as any data specifically required for this implementation. Additionally, if contract image files are being upload, the file specification (FILE_NAME column) needs to be provided. Coordination with the person collecting the contract image files is also necessary to ensure that the ZIP files correspond to the contents of the sub agreement CSV. That is, if a ZIP file for contract images is for 10 sub agreements, a separate CSV for those 10 master agreements is required. The import should be done in bundles such as this to conform with the recommended ZIP file size of 50MB. The sub agreement import file must also have a reference to the parent master agreement.|
|30||Collection of Contract Image Files||All contract image files that are being imported should be collected, ideally on a single file server using a separate directory for each agreement that is being loaded. Separating the files into unique sub-directories helps ensure that duplicate file names do not overwrite one another. File name lengths should be kept to 40 characters or less and only include Roman alphabet characters (some symbols such as - and _ are also fine)|
|31||Preparation of Import ZIP files||If the contract import process is using the ZIP file upload procedure, then ZIP files need to be created. In general, CLM supports upload ZIP files that are 50 MB or less. As a result, it is best to organize the ZIP files and agreement import CSV files in bundles where the ZIP is within that size specification.|
|32||Preparation of FTP processing||If the contract import process is using FTP to make the files available for the upload process, this task is to ensure the FTP procedures are complete and tested. Additional coordination with SAP Hosting is required for Hosted or OnDemand CLM solutions.|
|33||Preparation of other import files||Any other import files that are required also need tasks. This is a placeholder task to create those files. Those might be required, for example, if any extension collections are being imported onto the agreements.|
|34||Test||Thorough testing of the finalized contract import files should be performed. Start with a small number of contracts (< 5) to validate the files and procedure. Testing should validate that the data loads correctly, appears correct in the user interface, and that no extraneous emails are generated out of the system during the load.|
|35||Develop procedure for production load||Prepare the procedure for performing the full load of master and configuration data along with contract data into the production system.|
|36||Execute production load||Execute the load in the production environment|
|37||Validate production load||Validate the load in the production environment|