Ariba Services Procurement Implementation Guide 9r2
Ariba Services Procurement Implementation Guide 9r2
Implementation Guide
Release: 9r2
Document Version: 3
Release Date: May 2015
Copyright © 1996–2015 Ariba, Inc. All rights reserved.
This documentation, as well as the Ariba software and/or services described in it, contain proprietary information. They are provided under a license or other
agreement containing restrictions on use and disclosure and are also protected by copyright, patent and/or other intellectual property laws. Except as permitted
by such agreement, no part of the document may be reproduced or transmitted in any form by any means, electronic, mechanical or otherwise, without the
prior written permission of Ariba, Inc.
Ariba, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in the documentation. The information contained in the
documentation is subject to change without notice.
Ariba, the Ariba logo, AribaLIVE, SupplyWatch, Ariba.com, Ariba.com Network and Ariba Spend Management. Find it. Get it. Keep it. and PO-Flip are
registered trademarks of Ariba, Inc. Ariba Procure-to-Pay, Ariba Buyer, Ariba eForms, Ariba PunchOut, Ariba Services Procurement, Ariba Travel and
Expense, Ariba Procure-to-Order, Ariba Procurement Content, Ariba Sourcing, Ariba Savings and Pipeline Tracking, Ariba Category Management, Ariba
Category Playbooks, Ariba StartSourcing, Ariba Spend Visibility, Ariba Analysis, Ariba Data Enrichment, Ariba Contract Management, Ariba Contract
Compliance, Ariba Electronic Signatures, Ariba StartContracts, Ariba Invoice Management, Ariba Payment Management, Ariba Working Capital
Management, Ariba Settlement, Ariba Supplier Information and Performance Management, Ariba Supplier Information Management, Ariba Discovery, Ariba
Invoice Automation, Ariba PO Automation, Ariba Express Content, Ariba Ready, and Ariba LIVE are trademarks or service marks of Ariba, Inc. All other
brand or product names may be trademarks or registered trademarks of their respective companies or organizations in the United States and/or other countries.
Ariba Sourcing solutions (On Demand and software) are protected by one or more of the following patents, including without limitation: U.S. Patent Nos.
6,199,050; 6,216,114; 6,223,167; 6,230,146; 6,230,147; 6,285,989; 6,408,283; 6,499,018; 6,564,192; 6,871,191; 6,952,682; 7,010,511; 7,072,061; 7,130,815;
7,146,331; 7,152,043;7,225,152; 7,277,878; 7,249,085; 7,283,979; 7,283,980; 7,296,001; 7,346,574; 7,383,206; 7,395,238; 7,401,035; 7,407,035; 7,444,299;
7,483,852; 7,499,876; 7,536,362; 7,558,746; 7,558,752; 7,571,137; 7,599,878; 7,634,439; 7,657,461; and 7,693,747. Patents pending.
Other Ariba product solutions are protected by one or more of the following patents:
U.S. Patent Nos. 6,199,050, 6,216,114, 6,223,167, 6,230,146, 6,230,147, 6,285,989, 6,408,283, 6,499,018, 6,564,192, 6,584,451, 6,606,603, 6,714,939,
6,871,191, 6,952,682, 7,010,511, 7,047,318, 7,072,061, 7,084,998; 7,117,165; 7,225,145; 7,324,936; and 7,536,362. Patents pending.
Certain Ariba products may include third party software or other intellectual property licensed from a third party. For information regarding software or other
intellectual property licensed from a third party, go to http://www.ariba.com/copyrights.cfm.
Revision History
The following table provides a brief history of the updates to this guide. Ariba updates the technical
documentation for its On-Premise solutions if
• software changes delivered in service packs or hot fixes require a documentation update to correctly
reflect the new or changed functionality;
• the existing content is incorrect or user feedback indicated that important content is missing.
Ariba reserves the right to update its technical documentation without prior notification. Most
documentation updates will be made available in the same week as the software service packs are released,
but critical documentation updates may be released at any time.
2 August 2014 Category Definitions Moved the section, Auto-Calculations for Default
Category Fields from Appendix D Sample Files to
Chapter 4 Category Definitions. Added a note
regarding generic category drivers.
3 May 2015 Category Definitions Updated the content in the Auto-Calculations for
Default Category Fields section that describes bill
rate calculation. Changes include: correction to the
formula used when both markup amount and
percentage are specified, and slight modification to
the content describing this scenario to remove any
ambiguity.
Chapter 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
About Ariba Services Procurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
How to Use This Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Category Drivers and Enumerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Category Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Contractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Time Sheets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Expense Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Groups, Roles, and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Chapter 5 Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
About Collaboration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Collaboration Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Default Value Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Allow Supplier Changes During Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
All Items Required in Supplier Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Use Permissions or Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Custom Invited Supplier Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Custom Invited Supplier Permission. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Change Suppliers While Collaborating Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Change Suppliers While Collaborating Permission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
End Collaboration Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
End Collaboration Permission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Integration Events for Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
CollaborationReasonPull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
CollaborationReasonLanguagePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
CollaborationTypePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
CollaborationTypeLanguagePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
SupplierRankingPull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
SupplierRankingLanguagePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ValueQualifierPull. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ValueQualifierLanguagePull. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
BiddingTypePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
BiddingTypeLanguagePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Chapter 6 Contractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
About Contractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Creating Contractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Onboarding Contractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Working with Contractors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Managing Contractors in Ariba Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Contractor Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Restricting Contractor Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Contractor Password Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Contractor Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Contractor Creation Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Contractor Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Thresholds for Onsite and Sit Days . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Forecasting Consecutive Onsite Days. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Do Not Hire Contractors Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Calculations for Recurring Fee Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Co-Employment Risk Candidate Acceptance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Integration Events for Contractor Surveys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
ContractorPerformanceThreePointValuePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
ContractorPerformanceThreePointValueLanguagePull . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ContractorPerformanceTenPointValuePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ContractorPerformanceTenPointValueLanguagePull . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Scheduled Tasks for Contractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
ComputeConsecutiveOnSiteDays and RecomputeConsecutiveOnSiteDays . . . . . . . . . . 74
ProcessContractorCreation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
SendSurveyNotification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Approval Rules for Contractor Surveys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Chapter 9 Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Ariba Administrator Workspaces and Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Log Message Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Common Administration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Managing Generated Subscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Managing Contractors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
This document does not describe basic user interaction. For information on working with Ariba Services
Procurement from a user’s perspective, see the Ariba Buyer Procurement User Guide.
This document describes how to set up the integration events, configuration settings, and optional features
used in Ariba Services Procurement. Configuring Ariba Services Procurement involves the following major
components:
• Category drivers and enumerations
• Category definitions
• Collaboration
• Contractors
• Time sheets
• Expense sheets
• Groups, roles, and permissions
This section describes where to find information on each of these major components.
You can create custom category drivers manually in Ariba Administrator, or by creating a category driver
CSV file and running an integration event. You import enumerations from an Excel file.
Category Definitions
You use category definitions to control the fields and behavior of specific types of line items. For example,
you can specify the maximum hourly wage for an administrative assistant in each region. When hiring
managers add an administrative assistant line item to a requisition, they can only specify an hourly wage up
to that limit. The category definition also specifies extra fields to display for that line item.
You can create definitions manually in Ariba Administrator, or by importing category definitions from an
Excel file.
Collaboration
When you create a category definition, you can configure items to require collaboration with a supplier to
define the details of the item before an order can be placed. Collaboration can be configured for any item
controlled by a category definition.
Setting up collaboration includes running integration events to define the options for the Collaboration
property in the Category Definition Manager workspace in Ariba Administrator, define rankings that can be
assigned to suppliers in a category, and define contractible properties on the requisition and collaboration
requests.
Contractors
A contractor is a person who provides temporary labor to a company. The hiring organization is the company
that hires the contractor, typically through a supplier that specializes in providing temporary labor resources.
You can modify configuration parameters to tailor the behavior of contractor-related features, such as
thresholds for onsite and sit days. You can also run integration events to define ranking information for
evaluating a contractor’s performance.
Time Sheets
Time sheets are provided in the default configuration as a means for receiving items from Labor categories.
You can modify configuration parameters to tailor the behavior of time sheets, such as how to route time
sheets that have been approved. You can also run integration events to define pay codes, and map external
payment codes to internal payment codes.
Expense Sheets
Contractor expense sheets, which apply to collaborative requisitions for the temporary labor category, allow
a contractor to submit expense line items for out-of-pocket expenses. You must run an integration event to
define the contractor expense types in your configuration.
Reference Information
When setting up Ariba Services Procurement, you will need to refer to the following documents:
• The Data Dictionary, which is a Microsoft Excel workbook that contains descriptions of integration
events and comma-separated value (CSV) file columns.
• The Parametersdoc, which is an HTML document that contains descriptions of the
config/Parameters.table parameters.
These documents are available on the administration documentation page on Help@Ariba. You can also
download the Data Dictionary from Ariba Administrator.
If you are upgrading from a previous version of Ariba Buyer, be sure to follow the instructions in the Ariba
Buyer Migration Guide for upgrading your existing version of Ariba Buyer before you install Ariba Services
Procurement.
Required Applications
Ariba Services Procurement has dependencies on the following applications:
• Ariba Contract Compliance must be installed in the same configuration as Ariba Services Procurement.
For information on implementing Ariba Contract Compliance, see the Ariba Contract Compliance
Administration Guide.
• If you plan to convert time sheets to invoices, Ariba Invoice must be installed in the same configuration as
Ariba Services Procurement. For information on implementing Ariba Invoice, see the Ariba Invoice
Implementation Guide.
• Ariba Supplier Network must be configured to enable collaborative requisitioning and to be integrated
with Ariba Invoice and Ariba Buyer. For information, see the Ariba Spend Management Integration
Guide.
Site Profile
After installing Ariba Services Procurement, make sure Ariba Services Procurement is enabled in the site
profile.
Note: Ariba Contract Compliance must be installed in the same configuration as Ariba Services
Procurement. If you plan to convert time sheets to invoices, Ariba Invoice must be installed in the same
configuration as Ariba Services Procurement.
Note: Do not disable Ariba Services Procurement in the site profile after implementing Ariba Services
Procurement.
Approval Rules
The default approval rules for Ariba Services Procurement are loaded during installation. The
template-based approval rules are enabled by default. For information on the default approval rules, see:
• “Approval Rules for Collaboration” on page 62
• “Approval Rules for Contractor Surveys” on page 75
• “Approval Rules for Time Sheets” on page 83
• “Approval Rules for Expense Sheets” on page 89
If you are installing Ariba Services Procurement as a new installation, you can do either of the following:
• Enable Ariba Services Procurement with the sample data, to see the default configuration, and then later
update to your own data.
• Update all CSV files to define your own data, and then load your custom data.
If you are installing Ariba Services Procurement as a new installation, the default groups, roles, and
permissions for Ariba Services Procurement are loaded during installation. If you are migrating from a
previous version, new groups, roles and permissions are not loaded because of potential naming conflicts.
For more information, see the Ariba Buyer Migration Guide.
This file defines a mapping from Ariba Services Classification Codes (ASCC) to United Nations Standard
Products and Services Code (UNSPSC), and you must edit the mapping to be sure that the target
UNSPSC codes exist in your configuration. For more information, see “Integration Events for ASCC
Commodity Code Mappings” on page 32.
2 If you want to prevent contractors from creating requisitions and other approvable documents, edit the
appropriate entries in ApprovableType.csv. For information on modifying ApprovableType.csv, see the
Ariba Buyer Configuration Guide.
For information on loading Ariba Contract Compliance data, see the Ariba Contract Compliance
Administration Guide. For information on loading Ariba Invoice data, see the Ariba Invoice Implementation
Guide.
For information on these integration events, see the Ariba Spend Management Data Load Guide. For
descriptions of the Ariba Services Procurement groups, roles, and permissions, see Appendix A, “Groups,
Roles, and Permissions.”
2 In partition None, run the following integration events, in this order:
Where to Find
Integration Event Name Display Name Information
ASCCCommodityCodePull Import ASCC Commodity Codes Page 32
Where to Find
Integration Event Name Display Name Information
CollaborationTypePull Import Collaboration Types Page 59
Where to Find
Integration Event Name Display Name Information
SimpleMapTypePull Import Simple Map Type Ariba Spend
Management
Channels Guide
If you have a multilingual configuration, run the associated language integration events to load
translations:
Where to Find
Integration Event Name Display Name Information
CollaborationTypeLanguagePull Import Collaboration Type Page 60
Translations
4 Run the integration event ClassificationCodeDomainMetaPull (display name “Import Classification Code
Domain Metadata”). For information on this integration event, see the Ariba Spend Management Data
Load Guide.
Important: Do not run this integration event until you have successfully run the ASCCCommodityCode*
integration events in the previous step.
5 Run the following integration events, in any order, in the partition(s) where their corresponding CSV files
are located, first modifying the CSV files as needed for your configuration:
Where to Find
Integration Event Name Display Name Information
ApprovableTypePull Import Approvable Types Ariba Buyer
Configuration Guide
CommodityExportMapPull Import ERP Commodity to Commodity Mapping Ariba Buyer Data Load
Guide
If you have a multilingual configuration, run the associated language integration events to load
translations:
Important: If you do not load the sample category drivers, the base categories are not loaded and you cannot
create new custom category drivers.
When you create a category definition, you must associate it with a category driver. For example, when you
create a new category definition in Ariba Administrator, you select a category driver from the Header
Category pull-down menu:
For more information on creating category definitions, see Chapter 4, “Category Definitions.”
Important: The base categories are loaded when you load the sample category driver files. If you do not load
the sample category drivers, you cannot create new custom category drivers.
Creating a custom category driver enables you to create templates for category definitions and then develop
categories using those templates.
For example, the following screen shows the policy mapping fields defined for the sample category driver
AdminLabor.
When creating a custom category driver, you only identify policy mapping fields. You perform the actual
policy mapping when you create a category definition that uses your custom category driver. For example,
suppose you have a policy mapping field called Region. You could map a policy of Not to Exceed $200 for
the item field Bill Rate when the value of Region is New York.
For information on mapping policy values, see “Adding or Modifying a Category Item on the Items Tab” on
page 39.
Enumerations
Enumerations are the values associated with a policy mapping field. For example, the values for the policy
mapping field called Region could include city names such as New York, Boston, and Chicago.
You define enumerations in an enumerations file. which is an Excel workbook that includes internal, display,
and translated values for enumerations. You import enumerations files by using the Enumerations task in the
Category Definition Manager workspace in Ariba Administrator. For information on using the Enumerations
task, see “Enumerations in Ariba Administrator” on page 30.
The example in the previous section showed the policy mapping fields defined for the sample category driver
AdminLabor. The following example shows the enumerations defined for those policy mapping fields in the
sample enumerations file LaborEnumerations.xls.
The following category driver file defines the sample category driver AdminLabor.
"UTF-8"
UniqueName,BaseDriver,Contents
"AdminLabor","Labor","
<inClass name=""category.Labor.MappableProperties"">
<field name=""cus_Region""
flexField=""true""
templates=""ExternalField,PickListField"">
<type class=""java.lang.String""/>
<properties label=""Region""
enumerationName=""Region""
enumerationDomain=""category""/>
</field>
<field name=""cus_SkillLevel""
flexField=""true""
templates=""ExternalField,PickListField"">
<type class=""java.lang.String""/>
<properties label=""Skill Level""
enumerationName=""SkillLevel""
enumerationDomain=""category""/>
</field>
<field name=""cus_ExperienceLevel""
flexField=""true""
templates=""ExternalField,PickListField"">
<type class=""java.lang.String""/>
<properties label=""Experience Level""
enumerationName=""ExperienceLevel""
enumerationDomain=""category""/>
</field>
</inClass>
"
• The label property specifies the display name of a policy mapping field, such as “Skill Level.” For more
information, see “Policy Mapping Fields” on page 24.
• The enumerationName property specifies the internal name of a policy mapping field. You specify this
name in the enumerations file when defining values for the field.
• The enumerationDomain property is always set to category.
Note: To create a new custom category driver by copying an existing custom category driver, choose Copy
from the Actions pull-down menu.
Field Description
Category A unique name for the custom category driver. The maximum length is 18 characters.
Base Category The base category for the custom category driver. Choose one of the following base
categories, depending on the type of category you want to create:
• Generic—A basic category with a minimum set of required properties that are generic
across all categories (such as collaboration type and line type). Used in conjunction
with custom fields, it serves as a starting point for creating custom categories.
• Consulting—Designed for use with line items for consulting projects. Such line items
could include resources like a project manager and business analyst, milestones for
different phases of the project, expenses, and fees.
• Labor—Designed for use with line items for hiring contractors.
• MarketResarch—Designed to control line items pertaining to a market research project.
Such line items could include resources, such as a research manager and research
analyst, and milestones, such as the research preparation phase and the data analysis
phase.
• PrintCustom—Designed to control line items for custom printed materials.
• PrintStock—Designed to control line items for stock printed materials. Such line items
could include paper and envelopes with the corporate logo.
Hide Calculate Button The Calculate button updates fields based on values already entered. If you do not require
such updates, select Yes to hide the Calculate button.
Rate Field Specifies the field that will be used to set the unit price for the category. The Total Amount
is calculated based on the unit price.
3 If you are creating a new custom category driver, click OK to save the object to the database before adding
item fields.
4 On the Item Fields tab, click Create Field to create a new normal field or a computed item field, or click
Edit to modify an existing item field. Item fields are fields whose values are not used to drive the policies
of other fields.
• On the General tab, enter general information, such as the field label and data type.
• On the Conditions tab, you can configure visibility, editability, and validity conditions for the field.
• On the Advanced tab, you can specify advanced options, such as whether the screen should be
refreshed whenever the field changes.
For information about a particular field or option on any tab, click the information icon next to the field or
option.
Computed fields are values calculated from performing functions on normal fields. An example would be
a line item total amount that is calculated by multiplying the line item quantity times the line item amount.
When creating a computed field, an expression has to be specified that defines the functions to be
performed on the other fields to compute the value of the computed field.
For general information on how to create computed or derived fields and using the expression language,
see the Ariba Spend Management Customization Guide.
Important: Required fields are validated, even when they are not visible to users. When you create a
required field, you must configure that field to be visible and editable. If you do not, validation errors
might occur when a user tries to submit an approvable document that includes items that use the category
driver. For information on configuring visibility and editability, see “Adding or Modifying a Category
Item on the Items Tab” on page 39.
5 Click OK to save your changes, or Cancel to return to the previous screen without saving your changes.
6 On the Item Fields Layout tab, specify the Edit, Print, and Details layouts for your item fields.
Note: “Unsafe” fields (fields that can be seen but cannot be modified) are identified by the padlock icon.
7 On the Policy Mapping Fields tab, click Create Field to create a new policy mapping field, or click Edit to
modify an existing policy mapping field. For more information, see “Policy Mapping Fields” on page 24.
• On the General tab, enter general information, such as the policy mapping field label and data type.
You can specify a resource key (for example, @aml.Print/MPColorsLabel) for the field label in the aml
file. For more information on aml files, see “Sample File Locations” on page 133.
• On the Conditions tab, you can configure visibility, editability, and validity conditions for the policy
mapping field.
• On the Advanced tab, you can specify advanced options, such as whether the screen should be
refreshed whenever the policy mapping field changes.
For information about a particular field or option on any tab, click the information icon next to the field or
option.
8 Consulting, MarketResearch, or Generic base categories only: On the Shared Header Fields tab, click
Create Field to create a new shared header field, or click Edit to modify an existing shared header field. A
shared header field is a header-level field that is shared by all line items.
• On the General tab, enter general information, such as the field label and data type for the shared
header field.
• On the Conditions tab, you can configure visibility, editability, and validity conditions for the shared
header field.
• On the Advanced tab, you can specify advanced options, such as whether the shared header field
should be available as a search filter.
For information about a particular field or option on any tab, click the information icon next to the field or
option.
9 Click OK to save your changes, or Cancel to return to the previous screen without saving your changes.
10 On the Policy Mappings Fields Layout tab, specify the Edit, Print, and Details layouts for your policy
mapping fields.
11 Click Save to save your changes, or Cancel to return to the previous screen without saving your changes.
For information on setting visibility and editability permissions for category items, see “Adding or
Modifying a Category Item on the Items Tab” on page 39.
Viewing Enumerations
To view enumerations:
1 In Ariba Administrator, choose Category Definition Manager > Enumerations and click List All to display all
enumerations, or enter search criteria and then click Search or press the Enter key.
Column Description
Enumeration The name of a policy mapping field.
Importing Enumerations
To import enumerations:
1 Create an Excel file containing the enumerations you want to import. For information on the file format,
see “Enumerations” on page 25.
2 In Ariba Administrator, choose Category Definition Manager > Enumerations and click Import.
3 Enter the location of the Excel file, or click Browse to browse to and select the file.
4 Click OK to import the enumerations, or Cancel to return to the previous screen without importing the
enumerations.
Exporting Enumerations
To export enumerations:
1 In Ariba Administrator, choose Category Definition Manager > Enumerations.
2 To export a specific set of enumerations, click the name in the Enumeration column and choose Export
from the pull-down menu.
3 To export all enumerations, click either Export in Excel Format or Export in CSV Format.
Deleting Enumerations
Take extreme care when deleting enumerations. Enumerations might be referenced by fields in transactional
data such as requisitions, contracts, invoices, and orders. You typically should not delete enumerations after
Ariba Services Procurement has been implemented.
To delete enumerations:
1 In Ariba Administrator, choose Category Definition Manager > Enumerations.
2 Click the name in the Enumeration column and choose Delete from the pull-down menu.
Entries in this domain are mapped to the unspsc classification domain with the
ASCCToUNSPSCClassificationCodeMapPull integration event (display name “Import ASCC to UNSPSC
Classification Code Relationships”). The additional domain allows you to have items with different ASCC
codes that map to the same UNSPSC code, allowing you to put items with the same UNSPSC code at
different locations in the catalog hierarchy. For example, in the default categories, Market Research project
managers and Consulting project managers appear at different locations in the catalog hierarchy but have the
same UNSPSC code.
For example:
Cp1252
"Domain","UniqueName","Name","ParentUniqueName","Enabled"
"ascc","10","Temporary Staffing",,
"ascc","1010","IT Staff","10",
"ascc","101001","Software Developers","1010",
"ascc","101002","Database Administrators","1010",
"ascc","101003","Network Specialists","1010",
"ascc","101004","Airplane Expense","1010",
2 For any new codes you have created, add mappings to the UNSPSC domain by editing the following file:
config/variants/Plain/partitions/None/data/ASCCToUNSPSCClassificationCodeMap.csv
For example:
DomainFrom,ValueFrom,DomainTo,ValueTo
"ascc","10","unspsc","80111801"
"ascc","1010","unspsc","80111801"
"ascc","101001","unspsc","80111608"
"ascc","101002","unspsc","80111609"
"ascc","101003","unspsc","80111610"
"ascc","101004","unspsc","80111600"
3 Run the ASCCCommodityCodePull integration event (display name “Import ASCC Commodity
Codes”).
4 Run the ASCCCommodityCodeParentPull integration event (display name “Import ASCC Commodity
Code Parent Relationships”).
5 Run the ASCCToUNSPSCClassificationCodeMapPull integration event (display name “Import ASCC to
UNSPSC Classification Code Relationships”).
6 Use Ariba Administrator to edit the catalog hierarchy and add a mapping to your new classification code.
For general information on how to use and edit the catalog hierarchy, see the Ariba Buyer Catalog
Administration Guide.
You manage category definitions in the Category Definition Manager in Ariba Administrator. You can create
category definitions manually in the user interface, or by loading category definitions from an Excel file.
Activating a category definition creates new catalog items, one for each item in the category definition.
Collaborative Items
When you create a category item, you can specify that the item is collaborative, which means that the
supplier and buyer work together to define the details of the item. For example, users might need to work
with suppliers on the details of a print job or to identify the exact candidate to hire. You can enable
collaboration for any item controlled by a category definition.
You can create collaborative and non-collaborative (direct) versions of the same category item. For example,
if you want to create a category item for a database administrator, but the requester will sometimes already
have a candidate identified and other times collaboration with a supplier will be required, you could create
two category items: one called “Database Administrator (Known Contractor)” and one called “Database
Administrator (Collaboration Required).” If the requester adds the first item to the cart, the item does not go
through collaboration, whereas the second item triggers the collaboration process. Alternatively, you could
create a single item with the Collaboration property set to Allowed, so that when creating the requisition, the
requester can decide whether the item should be collaborative or direct.
For more information on the collaboration process from an end-user’s perspective, see the Ariba Buyer
Procurement User Guide.
When adding a supplier, the ranking you give it determines whether collaboration requests can be sent to the
supplier when an item in the category is added to a requisition. Additionally, you can specify whether you
want to allow the supplier only for category items for which an item-level or commodity-level contract is
available or for any category item on the requisition.
You can also specify whether the requisitioner and any user with edit capability can add “custom-invited”
suppliers to the invited supplier list.
Suppliers used during collaboration must be registered on Ariba SN. In addition, the customer’s Ariba SN
account must be configured for collaborative requisitioning. For more information, see the Ariba Network
Buyer Administration Guide.
Whether you can specify permissions or groups to control the visibility and editability of category item
properties is determined by the Application.CategoryProcurement.UsePermissions parameter. When this
parameter is set to true (the default setting), you can specify permissions. For more information, see “Use
Permissions or Groups” on page 56.
The available properties vary by category type. Additionally, some properties are not designed to be visible
on the requisition, so setting their editability and visibility has no effect. The names and purposes of the
collaboration properties are standard across all category types.
The following table describes the columns on the Category Definitions page.
Column Description
Name The name of the category definition. The name cannot be longer than 50 characters.
Status The status of the category definition, which can be one the following:
• New
• Editing
• Validating
• Validating Catalog
• Validated
• Validation Failed
• Activating
• Activated
• Activation Failed
• Reverting
• Subscription Load Failed
• Deactivated
2 To view the properties, items, suppliers, and history for a category definition, click the category definition
name.
Note: The items on a requisition are re-verified against the category definition during submission, so if you
edit a category definition when a requisition is in Composing status, the items might change when the user
tries to submit the requisition. Also, when a user copies an existing approved requisition to create a new one,
the items might be different on the copy if the category definition was edited since the original requisition
was approved.
2 On the General tab, enter or modify properties that will affect the entire category definition:
Field Description
Name The unique internal identifier of the category definition. The name cannot be longer
than 50 characters.
Header Category The category driver, which defines a template for a category definition. For
information on category drivers, see Chapter 3, “Category Drivers and
Enumerations.”
Published Item Supplier The supplier for all the items defined in the catalog that are controlled by this
category definition. For “supplier-less” items (that is, items that are not associated
with a specific supplier), the value is Unspecified.
Status The status of the category definition. When you are creating a new category
definition, this field displays New. When you are editing an existing category
definition, it displays Editing.
Category ID The category ID. When you are creating a new category definition, this field is
empty. When you are editing an existing category definition, it displays the category
ID. The category ID is assigned by Ariba Services Procurement when you save a
new category definition.
Live The activation status. When you are creating a new category definition, this field is
empty. When you are editing an active category definition, this field displays Yes.
When you are editing a category definition that has not yet been activated (or has
been deactivated), this field displays No.
Category Owners The users who can edit, validate, activate, and delete the category definition. Only
users specified here can perform these actions.
Tip: You can revert your changes and restore an activated category definition by selecting the category
definition and clicking Revert.
Field Description
Item ID The Item ID for the category item. Ariba Services Procurement sets the item ID to 1000 or
to one greater than the highest existing ID of items in this category definition.
Part ID The ID used to identify the item in the catalog. For supplier-less items, the system
generates a Part ID, otherwise this is the supplier part number.
Item Type The category item type. You cannot modify this field.
Defined in Catalog This property is not supported in Version 9r2 and later. Do not modify this field. It has
been retained to support the migration of category items that used this property in previous
versions.
Field Description
Mapping Attributes Attributes that are common to all types of items in the category definition. Policy values
can be indexed by those attributes to provide different policy values for different attribute
values.
Ordering Attributes The valid ordering attributes for the item. The ordering attributes specify required values
for ordering the item. For example, if there is an ordering attribute Region, you could
specify the valid regions in which this item can be ordered.
Note: When adding the item to a requisition, the part number and auxiliary ID are internal reference
numbers unless the requester selects a supplier who has a contract for this item, in which case the
supplier’s part number and auxiliary ID are used.
3 On the Policies tab, you can specify or modify policy values for individual item properties. These values
can be combined with contract terms to enforce compliance at requisition time. Properties are organized
by type. To hide or show properties of a certain type, click the arrow.
The following table describes the available policy values.
Specified A default value is set. The type of value you set for the property depends on the
property. For example, for some properties you set a Yes/No value. For others, you
select a value from a list, such as Required, Allowed, and Disallowed.
Specified by Attribute Different default values are set based on mappable attributes. For example, if you
have a Region attribute, you could set a different default for each region.
To specify this value, click define/edit in the Value column, and then set the values
for each mappable attribute in the category definition.
You define available mappable attributes when you create the category definition,
not when you create the category item.
Note: For non-qualified values, the policy value acts as a default value where the user can edit the value
and the requisition can be submitted successfully. For example, the policy for a Boolean can be Yes, but
the requisition can be submitted even if the value is No.
The following table describes the collaboration properties. There can be additional properties, depending
on the category type.
Bidding Type The bidding type. which determines how suppliers see their own rankings in
respect to other suppliers. You can specify bidding types by attribute or by type.
The bidding types in the default configuration (from least to most visible) are:
• Closed - None of the bidding information fields are visible
• Open - Amount - The Lowest Amount and Price fields are visible
• Open - Amount, Rank - The Lowest Amount, Price, Proposal Rank, and
Supplier Rank fields are visible
• Open - Amount, Rank, Supplier - The Lowest Amount, Price, Lowest
Supplier, Proposal Rank, and Supplier Rank fields are visible
Note: A supplier can never see the name of another supplier who is the lowest
bidder.
Allow Partial Acceptance Whether buyers can accept some items on a proposal and reject others. If No, a
buyer must accept or reject an entire proposal.
Note: Setting this field to Yes does not mean buyers can partially accept a
quantity from one supplier and another quantity from another supplier for the
same item.
Supplier Can Add Items Suppliers can add line items to the proposal, which would then be added to the
requisition if the proposal is accepted. For example, in addition to the line item for
the contractor, the supplier could add a line item for a special fee.
Can Submit Multiple Proposals Suppliers can submit more than one proposal for the same collaboration request.
For example, a supplier with three good candidates for a collaboration request
could submit three proposals, one for each candidate.
Item Type The item type. You can specify item types by attribute or by type. The item types
in the default configuration are:
• Default
• Expense
• Fixed Fee
• Milestone
Itemization Required? Whether itemization is required for milestone line items on non-collaborative
requisitions. If Yes, the preparer of the requisition must itemize the milestone. If
No, the preparer can choose whether to itemize.
For collaborative requisitions, the preparer does not itemize milestones. Instead, if
this field is both visible and editable, the preparer can choose whether supplier
must itemize the milestone on their collaboration proposals.
4 On the Permissions tab, you can set or modify visibility and editability values for individual properties
during requisition and collaboration time. Properties are organized by type, such as “General,”
“Collaboration,” and “Milestone.” There can be additional permission types, depending on the category
type.
To hide or show properties of a certain type, click the arrow.
If you clicked Yes to make the property visible, set groups or permissions to determine which users can see
the property. To specify groups or permissions, click select. If you specify multiple groups or permissions, a
user only needs to have one of the groups or permissions to be able to see the property. If you leave the groups
or permissions set to all, all users can see the property.
Note: Whether you can specify permissions or groups to control the visibility and editability of category
item fields is determined by the Application.CategoryProcurement.UsePermissions parameter. When this
parameter is set to true (the default setting), you can specify permissions. If you change this setting, make
sure you update the Permissions tab to use the correct values. For more information on this parameter, see
“Use Permissions or Groups” on page 56.
5 Click OK to save your changes, or Cancel to return the previous page without saving your changes.
Preferred Allow contracted suppliers to be selected. This setting is useful only when you have set
Any Supplier to No.
Excluded Prevent contracted suppliers from being selected. Any contracted supplier not already
defined in the category definition is excluded from collaboration.
If Any Supplier is Yes, requisitioners can still add any supplier to the invited supplier
list using the Add a new unranked supplier link in the user interface.
3 In the Category-wide Suppliers section, you can define suppliers that are available for supplier-less items.
The suppliers specified here do not necessarily need to have an open contract to be available for selection.
• Click Add Supplier to add a supplier to the category item, or select a supplier to modify and click Edit.
• In the Ranking list, select the ranking to assign to the supplier, The ranking specified here overrides the
ranking specified in the Supplier Selection section.
• For Contracted Items Only, select whether you want to allow this supplier only for category items for
which an item-level or commodity-level contract is available (Yes) or for any category item on the
requisition (No). Supplier-level contracts are not included in the For Contracted Items Only option.
The Ranking and Contracted Items Only settings you specify for individual suppliers override the options
in the Supplier Selection section
• To delete a supplier from the category item, select the supplier and click Delete.
4 To specify different collaboration approval settings depending on a mappable attribute, do the following:
• In the attribute’s list, scroll to the value on which you want to base the approval setting, and then click
Yes in the Override column. For example, if there is a Region attribute, you could click Yes next to New
York City to allow you to specify different settings for this supplier when the region is New York City.
• In the Ranking list, specify the override collaboration approval setting for the supplier. Only the
Required, Excluded, and Optional rankings are available. Mapped supplier Preferred ranking defaulting
into the invited supplier list is currently not supported.
• In the Contracted Items Only column, specify the override contract requirement for the supplier.
• Repeat these steps for each mappable attribute you want to use to override the supplier collaboration
approval settings. For example, if there are three regions, you might set a different ranking for this
supplier in each of the three regions.
5 Click Save to save your changes, or Cancel to return to the previous screen without saving your changes.
2 On the General tab, you can enter template values for new items that use the same category driver in this
category definition. These values are published in the catalog, or are linked to an existing catalog entry.
3 On the Policies tab, you can enter policy template values for new items that use the same category driver
in this category definition. These values can be combined with contract terms to enforce compliance at
requisition time. Policy values can be unspecified, set to a particular value or be specified by attribute.
Values specified by attribute have different values for each set of mapping attributes. Values defined here
apply to newly created items.
4 On the Permissions tab, you can enter template values for visibility and editability permissions or groups
for individual properties during requisition and collaboration time.
Note: Whether you can specify permissions or groups to control the visibility and editability of category
item fields is determined by the Application.CategoryProcurement.UsePermissions parameter. When this
parameter is set to true (the default setting), you can specify permissions. If you change this setting, make
sure you update the Permissions tab to use the correct values. For more information, see “Use Permissions
or Groups” on page 56.
For detailed information on entering information on the General, Policies, and Permissions tabs, see
“Adding or Modifying a Category Item on the Items Tab” on page 39.
2 Click Delete.
2 Select the category definition you want to validate and click Validate.
3 Click the category definition name and take an action based its status:
• If the status is Validated, activate the category definition to make it available in Ariba Services
Procurement.
• If the status is Validation Failed, view the category definition, click the History tab, and then click the
Validation Errors link to see a list of errors that were found in this file. Fix the errors, and then validate
again.
During validation, Ariba Services Procurement generates a warning for any non-qualified fields that have a
policy defined and are editable. For example:
In category <category> for the fields [<field>,<field>], the policy will act as an initial value
when the user is allowed to edit the field. Please refer to the logs for more details.
3 Select the category definition you want to activate and click Activate.
4 Click OK to activate the category definition, or Cancel to return to the previous screen without activating
the category definition.
After a category definition has been activated, its status changed to Activated and Yes appears in the Live
column on the Category Definition page.
6 Select the category definition you want to deactivate and click Deactivate.
7 Click OK to deactivate the category definition, or Cancel to return to the previous screen without
deactivating the category definition.
After a category definition has been deactivated, its status changes to Deactivated and No appears in the Live
column on the Category Definition page.
3 Enter the location of the Excel workbook, or click Browse to browse to and select the Excel workbook.
4 Click OK to import the category definition, or Cancel to return to the previous screen without importing the
category definition.
5 View the category import log to verify that the category definition imported without any errors or to
determine what errors occurred. For more information, see “Viewing Category Import Logs” on page 48.
After importing a category definition from an Excel workbook, the Category Definition Manger workspace
is updated with this category definition if it does not exist. If it already exists, the current category definition
version is overwritten by the data in the file. If you have made changes to a category definition in the user
interface that are not reflected in the Excel workbook, those changes will be lost. If you accidentally
overwrite a category definition that was previously activated, you can click Revert on the Category
Definitions page to restore the previously activated version of the category definition.
You can edit and maintain the category definition in the user interface or, if you want to keep the Excel
workbook as the source of truth, you should periodically export the category definition to the Excel
workbook so that the data in the Category Definition Manager workspace and the Excel workbook are
identical.
Note: Some values are rounded when displayed in Ariba Administrator, but the original value is still used. To
see the original unrounded value, look in the workbook you imported.
2 Select the category definition you want to export and then choose Export from the Actions pull-down menu.
Note: When you export a category definition, the current version is exported. If the category is in the
Editing status, the Editing version is exported. To export the live version, the status of the category must
be Activated.
3 After the data has finished downloading, click Open to view the contents of the workbook or click Save to
save the workbook to your local hard drive.
If the category driver name causes a label to be longer than 31 characters, the label is truncated to 31
characters. Because exported worksheet labels contain characters in addition to the driver name, you must
limit the driver name to no more than 18 characters
Note: Ariba Administrator cannot display category definition filenames that include non-alphanumeric
characters.
2 To view details of a category import log, click an import tracker name in the LoadAdapterSource column.
3 To view information about the user who imported the file, click the username. To view the details of the
log’s category definition, click the category definition name.
The following table describes the columns on the Category Items page.
Column Description
Category ID The category ID.
Published Item Supplier The supplier for all category item. If the item is collaborative, the supplier is
Unspecified.
Defined in catalog Specifies whether a category item is linked to a catalog item imported from a
catalog.
2 To view the details of a category item, such as the properties and permissions, click an item ID.
3 To view the details of an item’s category definition, click the category definition name.
4 To view general information, items, and suppliers for an item’s category definition, click the category ID.
or
If the Markup Amount/Percentage or Pay Rate changes, the Bill Rate value is recalculated and updated.
If a user changes the Bill Rate, the Pay Rate value is recalculated and updated. The Markup
Amount/Percentage, however, is not auto-calculated and, therefore, is not changed when the other fields
change—its value is set by the contract, category, or user.
If both Bill Rate and Pay Rate have been changed, Pay Rate might be re-calculated and updated when you
click the Calculate button.
Note that the markup can be a percentage, an amount, or both. If both percentage and amount are specified,
the Bill Rate is calculated using the following formula:
For example, if the Markup Percentage is specified as 10 percent and the Markup Amount is specified as $5,
and the Pay Rate is $100, the Bill Rate is calculated as (100 * (1 + 0.10)) + 5, which is $115.
For more information on the interaction of Bill Rate, Pay Rate, and Markup Amount/Percentage when their
values are specified in multiple places, see “Calculation of Contractible Properties” on page 51.
Note: If you set the visibility and editability of the Bill Rate, Pay Rate, and Markup Amount/Percentage so
users cannot edit these fields, be sure to set reasonable limits for the Markup Amount/Percentage and the
Bill Rate or Pay Rate in the category definition so that they will add up correctly.
If either the Quantity or Price is changed, the total dollar Amount on the line item is updated.
This formula calculates the quantity of labor hours for the line item. It uses the parameters
Application.Workforce.StartDayForWorkWeek and Application.Workforce.EndDayForWorkWeek to determine
the days in the work week and finally the total hours in the specified time period. If the work week is
specified so that weekend days are excluded, a line item with just two days, both of which are on the
weekend, would result in a Quantity of 0. The standard unit of measure should always be in hours or labor
hours.
If the requisitioner is in a different time zone from your company's Ariba server, the weekend days are based
on the server's time zone, so the quantity might be incorrect.
The requisitioner can adjust the quantity manually to compensate for differences in time zones or if the
contractor will work on weekends.
Additionally, if the user clears the value entered in that field, the policy value repopulates the field.
Some categories allow this same behavior for item-level terms. For these categories, both the Pricing and
Discounts section and the Contractible Factors section appear on the Contract Request screen. The Pricing
and Discounts terms are applied to the user-entered or collaborated values and can derive a unit price based
on those values. For more information, see the ProcureCategoryUtil.isUnitPriceContractible method in
the Javadoc.
For example, in a contract request, you could specify the Ink Cost as Not to Exceed $500 in the Contractible
Factors section. Additionally, in the Pricing and Discounts section, you could specify formula pricing that
multiplies the Ink Cost by 4. In this case, the user is limited to entering a value of up to $500 for the Ink
Cost, but the Unit Price will be the value the user enters for the Ink Cost multiplied by 4.
Note: For a generic category driver the Unit Price is defaulted to a contractible, hence the contract will have
to define how the unit price will be set by the formula. If the formula is not set, there is no way for the
contract to set the Unit Price.
If a contract hierarchy has multiple discount settings for multiple levels (such as at the supplier level,
commodity level, and item level), the collaboration request shows a different rate for the Bill Rate and Unit
Price. The Bill Rate displays in the line item details and is calculated using only the item-level discount. The
Unit Price displays at the item summary level and is calculated using all the applied discounts.
Also, when there is a contract hierarchy, the auto-selection logic does not select the lowest prices. Instead, it
selects the price from the lowest-level contract, such as the item-level contract instead of the supplier
contract. The auto-selection feature must be enabled if you are using contracts and collaboration.
If a contract is closed during collaboration, resulting in any of the line items on a document in Composing
status being set to a higher price, a warning displays when the document is submitted.
When you specify an adjustment or discount in a contract, and there is no corresponding value specified in
the category, the contract adjustment or discount is ignored. For example, if you specify a 10 percent
discount on the Pay Rate in the contract, but the category does not specify the Pay Rate, the discount is
ignored.
Adjustment Examples
This section provides examples of how the adjustments affect the calculations.
If the Pay Rate is $100, and the Markup Percent in the category definition is 20 percent, the Bill Rate is
calculated as $120. If the contract defines the Bill Rate adjustment percent as 15 percent, the Bill Rate is
then adjusted to $102. The Pay Rate is calculated by dividing the adjusted Bill Rate by the category
definition markup percent (102/1.20) to equal $85
For example, if the pay rate is $100, and the contract markup is 10 percent while the category markup is $5,
the Bill Rate field is calculated by applying the 10 percent contract markup to the pay rate ($110) and then
adding the $5 category markup ($115). If you intended for the contract markup to override the category
markup instead of using both, you must ensure that you use the same markup property in both places. You
can create a validity condition at the contract factor level to prevent the types from being mismatched or even
to require that both types are used if that is the desired behavior.
Set the visibility and editability of these properties as follows: for buyers, make the Bill Rate visible and
editable; for suppliers, make the Bill Rate, Markup Amount or Markup Percent, and Pay Rate visible and
editable. You can achieve this by specifying the External permission for the Markup Amount/Percent and
Pay Rate.
If you make both the Markup Amount and Markup Percent visible and editable, be sure there is a policy for
each, either in the category definition or contract or both. Otherwise, the supplier will be able to enter any
value. For example, if both fields are available, but the contract with a supplier only sets a policy for the
Markup Amount, the supplier can set any value for the Markup Percent unless there is a policy for it in the
category definition.
Attaching Contracts
Each time you submit or edit a collaborative requisition or collaboration request, the associated contracts are
attached or re-attached. Therefore, if you create a contract for a supplier during collaboration, a user might
see errors when accepting that supplier’s proposal. When the contract is attached to a collaborative item, it
changes the Pay Rate instead of the Bill Rate. On a non-collaborative requisition, the Bill Rate is changed if
the contract specifies a different Bill Rate; otherwise, the Pay Rate is changed.
About Collaboration
When you create a category definition, you can configure items to require collaboration with a supplier to
define the details of the item before an order can be placed. Collaboration can be configured for any item
controlled by a category definition.
When a user adds a collaborative item to a requisition, and submit the requisition during the collaboration
portion of the approval flow, a collaboration request is created for each invited supplier on that item, and
then sent to them on Ariba SN. A supplier views the collaboration request in their Inbox on Ariba SN,
reviews the details, and responds either by declining the request or by submitting a proposal, which contains
the details of how they will fill the request. For example, if the line item is for a contractor to work as a
temporary administrative assistant, the supplier’s proposal might contain the names of proposed candidates,
their resumes, and hourly rates.
After suppliers submit their proposals, users can review them on the Collaboration tab of the requisition in
Ariba Buyer. Users can further negotiate a proposal or send questions to the suppliers using the message
screen on the Collaboration tab. Suppliers can send messages back and respond with additional or amended
proposals.
For information on working with collaboration from a user’s perspective, see the Ariba Buyer Procurement
User Guide.
Collaboration Configuration
This section describes configuration settings you use to tailor the behavior of collaboration-related features.
When this parameter is set to true, you can use the following parameters to specify permissions:
• Application.CategoryProcurement.EndCollaborationPermission
• Application.CategoryProcurement.AddCustomInvitedSupplierPermission
• Application.CategoryProcurement.ChangeSuppliersWhileCollaboratingPermission
When this parameter is set to false, you can use the following parameters to specify groups:
• Application.CategoryProcurement.EndCollaborationGroup
• Application.CategoryProcurement.AddCustomInvitedSupplierGroup
• Application.CategoryProcurement.ChangeSuppliersWhileCollaboratingGroup
The default value is false in new installations. In migrated configurations, the default is true.
If this parameter is set to false and a valid group is not specified in one of the group-related parameters,
Ariba Buyer checks the equivalent permission-related parameter instead.
If you change this parameter, make sure you update the Item Permissions tab to use the correct values. For
more information, see “Adding or Modifying a Category Item on the Items Tab” on page 39.
If this parameter is not set, the Any Supplier policy alone determines whether users can add custom-invited
suppliers.
This parameter is not set in the default configuration, and it has no default value.
If this parameter is not set, the Any Supplier policy alone determines whether users can add custom-invited
suppliers.
This parameter is not set in the default configuration, and it has no default value.
If this parameter is not set, anyone on the collaboration team and the requester can change suppliers during
collaboration.
This parameter is not set in the default configuration, and it has no default value.
If this parameter is not set, anyone on the collaboration team and the requester can change suppliers during
collaboration.
This parameter is not set in the default configuration, and it has no default value.
If this parameter is not set, anyone on the collaboration team and the requester can end a collaboration.
This parameter is not set in the default configuration, and it has no default value.
If this parameter is not set, anyone on the collaboration team and the requester can end a collaboration.
This parameter is not set in the default configuration, and it has no default value.
Note: To make changes, you modify files in the config directory. You never modify the files in the ariba
directory.
CollaborationReasonPull
The CollaborationReasonPull integration event (display name “Import Collaboration Reasons”) defines the
reasons buyers and suppliers can give for various collaboration actions, such as rejecting, declining, and
canceling. In the default configuration, it reads data from the following file:
config\variants\variant\partitions\partition\data\CollaborationReasons.csv
Cp1252
UniqueName,DisplayName,Type,ProcureCategoryDriver
AutoReject,Automatically rejected,AutoReject,All
AutoCancel,Automatically canceled,AutoCancel,All
ProposalOther,Other,RejectProposal,All
ProposalMoney,Proposal too expensive,RejectProposal,All
ProposalStructure,Proposal terms are not favorable,RejectProposal,All
You can customize this file and load the updated reasons into your configuration. You can also add, edit, and
delete reasons, with the exception of AutoReject and AutoCancel, which must remain in the file with their
UniqueName values unchanged.
CollaborationReasonLanguagePull
You can use the CollaborationReasonLanguagePull integration event (display name “Import Collaboration
Reason Translations”) to load translations for collaboration reasons.
CollaborationTypePull
The CollaborationTypePull integration event (display name “Import Collaboration Types”) defines the
options for the Collaboration property in the Category Definition Manager workspace in Ariba
Administrator. In the default configuration, it reads data from the following file:
ariba/variants/Plain/partitions/None/data/CollaborationType.csv
Cp1252
UniqueName,DisplayName
Disallowed,Disallowed
Allowed,Allowed
Required,Required
CollaborationTypeLanguagePull
You can use the CollaborationTypeLanguagePull integration event (display name “Import Collaboration
Type Translations”) to load translations for collaboration property options.
SupplierRankingPull
The SupplierRankingPull integration event (display name “Import Supplier Rankings”) defines the values
you can assign to suppliers in a category, such as Approved, Unapproved, and Required. In the default
configuration, it reads data from the following file:
ariba/variants/Plain/partitions/None/data/SupplierRanking.csv
Cp1252
UniqueName,DisplayName
Unapproved,Unapproved
Approved,Approved
Required,Required
SupplierRankingLanguagePull
You can use the SupplierRankingLanguagePull integration event (display name “Import Supplier Ranking
Translations”) to load translations for supplier ranking values.
ValueQualifierPull
The ValueQualifierPull integration event (display name “Import Value Qualifiers”) defines the qualifier
values, such as “Fixed” and “Not to Exceed” for contractible properties on the requisition and collaboration
requests. In the default configuration, it reads data from the following file:
ariba/variants/Plain/partitions/None/data/ValueQualifier.csv
Cp1252
UniqueName,DisplayName,Rank,ValidCompareToValues
"Fixed","Fixed","5","0"
"NotToExceed","Not to Exceed","10","0,1"
"Negotiable","Negotiable","15","-1,0,1"
ValueQualifierLanguagePull
You can use the ValueQualifierLanguagePull integration event (display name “Import Value Qualifier
Translations”) to load translations for qualifier values.
BiddingTypePull
The BiddingTypePull integration event (display name “Import Bidding Types”) defines system-level bidding
types that all users can use during the collaborative open bidding process. In the default configuration, this
integration event reads data from the following file:
ariba/variants/Plain/partitions/None/data/BiddingType.csv
Cp1252
UniqueName,Name,ShowLowestBidAmount,ShowLowestBidPrice,ShowLowestBidSupplier,ShowBidRank,ShowBidS
upplierRank,HideBiddingInfoBeforeFirstBid
"Closed","Closed",false,false,false,false,false,false
"Amount","Open - Amount",true,true,false,false,false,false
"Rank","Open - Amount, Rank",true,true,false,true,false,false
"Supplier","Open - Amount, Rank, Supplier",true,true,true,true,true,false
BiddingTypeLanguagePull
You can use the BiddingTypeLanguagePull integration event (display name “Import Bidding Type
Translations”) to load translations for bidding types.
For complete descriptions of these scheduled tasks, see Appendix C, “Scheduled Tasks Reference.”
CXMLProcessUndeliveredPayloads
The CXMLProcessUndeliveredPayloads scheduled task (display name “Process Undelivered cXML
Documents”) recovers all cXML documents that have been queued for delivery but have not been delivered
because the destination has been unreachable or the application server has shutdown.
For example, when Ariba Buyer tries to send a collaboration request to Ariba SN, and Ariba SN is not
responding, the CXMLProcessUndeliveredPayloads scheduled task tries to send the request again.
FailedCollaborationRequests
The FailedCollaborationRequests scheduled task (display name “Send Failed Collaboration Requests”)
re-processes collaboration requests that were not routed successfully to Ariba SN because of a collaboration
request or configuration error, such as the supplier ID on the request not being recognized by Ariba SN.
After fixing the error, run this scheduled task to try routing the collaboration requests again and to re-process
the status updates sent to Ariba SN.
RetryFailedCollaborationLaunch
The RetryFailedCollaborationLaunch scheduled task (display name “Restart the Collaboration Process”) is
an error-recovery task that scans the Ariba Buyer database for collaboration requisitions whose status is
CollabrationFailed, and attempts to restart the collaboration process for those requisitions.
StuckCollaborationRequests
The StuckCollaborationRequests scheduled task (display name “Send Stuck Collaboration Requests”)
handles collaboration requests that have become stuck in Sending status for the specified period of time.
Approval rules in the rule set for requisitions control collaboration. In the default configuration, there are
two versions of the requisition rule set:
• JavaScript Requisition Rules (JavaScriptRequisitionRules.rul)
• JavaScript Requisition With Template Rules (JavaScriptRequisitionWithTemplateRules.rul)
The JavaScript Requisition With Template Rules rule set is enabled by default.
collaboration before final Constraint Sets the order of the pre-collaboration and Yes
approvals collaboration rules.
Default Edit Rule Edit • Adding a collaborative item causes the approval
diagram to be regenerated so that collaboration is
launched for the new collaborative items.
• Only users who have the PurchasingAgent
permission can edit submitted documents without
altering the approval flow.
• The preparer cannot edit submitted documents.
Default Edit Rule Edit • Only members of the Purchasing Manager and
Executive Approvers groups can edit submitted
documents without altering the approval flow.
• Adding a collaborative item causes the approval
diagram to be regenerated so that collaboration is
launched for the new collaborative items.
• The preparer cannot edit submitted documents.
This customization recalculates the approval flow and removes the history of the previous approval flow. For
example, the begin collaboration, collaboration team, End collaboration nodes are removed.
About Contractors
A contractor is a person who provides temporary labor to a company. The hiring organization is the company
that hires the contractor, typically through a supplier that specializes in providing temporary labor resources.
Creating Contractors
To obtain a contractor, users create a requisition in Ariba Buyer and adds a labor line item that describe the
position for which they are hiring. The item can be collaborative or non-collaborative. Users can also order
related goods items (such as a new-hire kit) and fee items (such as background checks) on the same
requisition. After a candidate is accepted, he or she is set up as a contractor in your configuration. The
contractor can then create time sheets and expense sheets to track hours worked and expenses.
The contractor is created automatically when the purchase order is sent successfully. You can also create
contractors manually in Ariba Administrator. In both cases, a user profile request document is created and
sent to the contractor’s hiring manager for approval. Contractor creation can be delayed until a scheduled
task runs.
If your configuration includes required fields in the user profile, make sure user profile requests require
approval from a user who has edit permission. If user profile requests are auto-approved, required fields
might not be set and errors can occur when contractors attempt to create timesheets.
Onboarding Contractors
Onboarding is the process of getting a contractor set up with the tools and access needed to perform the job,
such as a computer and phone, office space, access to network servers, and so forth. Each hiring company
has its own set of procedures for onboarding contractors.
In the default configuration, contractors are created automatically when the purchase order is sent. You can
customize the contractor creation engine to customize the onboarding process. For example, you could
create a email notification message from your custom engine that sends a checklist of onboarding tasks to
the hiring manager.
Ariba Services Procurement provides the functionality to set thresholds for on site days and good sit periods
to ensure a contractor’s time at the hiring company is within the limits and policies set by the company. On
site days is the number of consecutive days a contractor works, and good sit period is the number of working
days (weekends and company holidays are excluded) that a contractor must not work before they can resume
work on either the same or a new project. Sit days are days the contractor does not work, and they are tracked
to determine if the good sit period has been reached or not.
Do Not Hire
To streamline the process of selecting contractor candidates, hiring organizations (especially those that
frequently hire contractors) often maintain a list of contractors who are known to be unacceptable. In
determining who might be added to the do not hire list, factors such as unacceptable performance on a
previous contract at the company, or a failed background check or poor references when being vetted for a
previous contract, might be considered. An organization is responsible for determining its policies regarding
the use of a do not hire list.
The do not hire functionality is available in the default configuration of Ariba Services Procurement.
Contractor Surveys
Contractors are ranked on meeting overall expectations, skill accuracy, and professional demeanor. Rankings
can be configured to meet your company’s business requirements.
Important: When using Ariba Administrator to create a user on which a contractor is based, make sure you
assign a supervisor to that user. Otherwise, the contractor will not appear in the Contractor Report, and the
default time sheet approval rules will not work for that contractor.
You typically do not need to create contractors in Ariba Administrator, because they are created
automatically from labor line items on purchase orders. However, if the purchase order mistakenly specified
an existing contractor, or if you mistakenly moved a contractor's line items to another contractor and deleted
the old contractor, you must create the contractor manually and move the items from the incorrect contractor
to the contractor you are creating.
Contractor Configuration
This section describes configuration settings you use to tailor the behavior of contractor-related functions.
For information on modifying ApprovableType.csv, see the Ariba Buyer Configuration Guide,
For more information on password adapters, see the Ariba Buyer Configuration Guide.
Contractor Processing
The Application.Workforce.UseBatchContractorCreation parameter specifies whether to process users and
contractors immediately after a purchase order has been created or to wait until a scheduled task runs.
• If set to true, the ProcessContractorCreation scheduled task (display name “Batch Create Contractors
Task”) processes contractors and creates a shared user for them if they are not already linked to an
existing shared user.
• If set to false, the contractor is processed immediately after the purchase order has been created.
In both cases, the contractor cannot log in until the hiring manager approves the User Profile Request
document that is created automatically when the shared user is created.
Contractor Engine
The Application.Workforce.ContractorEngine parameter specifies the logic for matching candidates to
contractors in the system and the logic related to contractor time tracking functionality.
You should leave this parameter set to its default value of ariba.workforce.core.AribaContractorEngine
unless you create a custom engine to handle this process.
A zero (0) value for either parameter means there are no limits.
You can also configure these values for a specific category item by modifying the Max Consecutive Onsite
Days and Min Good Sit Days properties. The category item settings override the parameters settings for the
particular category item. For information on setting these properties from Ariba Administrator, see “Adding
or Modifying a Category Item on the Items Tab” on page 39. For information on setting these properties in a
category definition file, see “Additional Contractible Properties” on page 144.
The forecast number is stored in the ForecastedDayCount field in the ContractorCandidate object. If the value
exceeds the maximum number of consecutive onsite days set by the MaxConsecutiveOnSiteDays parameter,
the hiring manager sees a warning in the Accept Candidate page indicating the candidate might exceed the
work duration threshold and possibly incur co-employment risk.
The delay between when a time sheet is submitted and when it is approved is factored into the forecast
calculation. Time sheets submitted prior to the delay period must be approved in order for the data to be
included in the consecutive onsite days forecast. Time sheets submitted during this delay period, even if not
approved, are used in the calculation.
You can configure the number of consecutive business days that approval of a time sheet is expected to be
delayed by using the Application.Workforce.UnapprovedTimeSheetForecastDays parameter. By default, this
parameter is set to 15.
For more information on the logic provided in the default configuration for contractor time tracking, and
how to customize the logic to meet your organization’s needs, see “Contractor Engine” on page 164.
On the Contractor object, the do not hire designation is stored in the DoNotHire field, and the reason is stored
in the Reason field.
When a supplier proposes a candidate during the collaboration process, Ariba Services Procurement uses an
algorithm that matches candidates to contractors in the system. If there is a match, and the contractor is
specified as do not hire, the hiring manager is not allowed to accept the candidate. For information on the
logic provided in the default configuration for matching a candidate to a contractor, and how to customize
the logic to meet your organization’s needs, see “Contractor Engine” on page 164.
The hiring manager sees an icon next to the candidates name on the proposal indicating the candidate cannot
be hired, and receives an error message if he attempts to accept the candidate. The hiring manager does not
have access to the reason the contractor is on the do not hire list. Only the Contract Manager and Workforce
Manager can see the reason.
The supplier is not notified that the contractor is designated as do not hire.
Only the Workforce Manager can use the Do Not Hire search filter on the Contractors screen to generate a list
of contractors who are designated as do not hire.
When this parameter is set to false (the default setting), calculations for recurring fee items are based on
straight duration (30 days equals one month). For example, if the start date is October 31 and the end date is
November 30, the number of occurrences is 1 because the month calculation starts on October 31 and ends
on November 30 (exactly 30 days).
When this parameter is set to true, calculations for recurring fee items are done based on how many calendar
months occur rather than on straight duration. For example, if the start date is October 31 and the end date is
November 30, the number of occurrences is 2 because the duration falls within two calendar months.
This parameter also applies to contract fee items. For more information, see the Ariba Contract Compliance
Administration Guide.
ContractorPerformanceThreePointValuePull
The ContractorPerformanceThreePointValuePull integration event (display name “Import Contractor
Performance Three Point Values”) defines ranking information for evaluating a contractor’s performance on
a three-point scale, for example, high, medium, and low. In the default configuration, this integration event
reads data from the following file:
ariba/variants/Plain/partitions/None/data/ContractorPerformanceThreePointValue.csv
Cp1252
UniqueName,Name,Value
"01","01 - Low","1"
"02","02 - Med","2"
"03","03 - High","3"
If you want to load different contractor performance values, you must modify the
MessageConfiguration.table entry for ContractorPerformanceThreePointValuePull to point to a CSV file
located in the config directory before running the integration event.
ContractorPerformanceThreePointValueLanguagePull
You can use the ContractorPerformanceThreePointValueLanguagePull integration event (display name
“Import Contractor Performance Three Point Value Translations”) to load translations for three-point value
ranking names.
ContractorPerformanceTenPointValuePull
The ContractorPerformanceTenPointValuePull integration event (display name “Import Contractor
Performance Ten Point Values”) defines ranking information for evaluating a contractor’s performance on a
10-point scale, for example, from 1 to 10. In the default configuration, this integration event reads data from
the following file:
ariba/variants/Plain/partitions/None/data/ContractorPerformanceTenPointValue.csv
Cp1252
UniqueName,Name,Value
"01","01","1"
"02","02","2"
"03","03","3"
"04","04","4"
"05","05 - meeting expectation","5"
"06","06","6"
"07","07","7"
"08","08","8"
"09","09","9"
"10","10 - outperform","10"
If you want to load different contractor performance values, you must modify the
MessageConfiguration.table entry for ContractorPerformanceTenPointValuePull to point to a CSV file
located in the config directory before running the integration event.
ContractorPerformanceTenPointValueLanguagePull
You can use the ContractorPerformanceTenPointValueLanguagePull integration event (display name
“Import Contractor Performance Ten Point Value Translations”) to load translations for ten-point value
ranking names.
When a contractor works on a business day or a non-business day (regardless of the number of hours worked
in a day), the total of the ConsecutiveDayCount field on the Contractor object is increased by one.
If on a subsequent business day a contractor does not work, the total of the CurrentSitDayCount field on the
Contractor object is increased by one. The sit day count continues to increment only if the contractor does
not work on continuous business days (non-business days are ignored). Once the contractor resumes work,
the sit day count is reset to zero.
The consecutive onsite day count continues to increment for each day worked, even if there are intermittent
sit days. Once a contractor meets the consecutive onsite days threshold, typically he should not work until he
meets the good sit period threshold. At the time the good sit period is met, the consecutive onsite day count
is reset to zero.
Consider a simplified example in which the consecutive onsite day threshold is 20 days and the good sit
period is 5 days:
• In scenario A, a contractor works five consecutive business days, and then subsequently sits for two
consecutive business days. In this case, the contractor can work 15 more business days but then cannot
work again until he has sat for five consecutive business days.
• In scenario B, a contractor works 10 consecutive business days and then subsequently sits for five
consecutive business days. In this case, having met the good sit period threshold, the 10 days the
contractor previously worked are ignored, and the contractor can work for 20 more days.
ProcessContractorCreation
The ProcessContractorCreation scheduled task (display name “Batch Create Contractors Task”) converts
accepted candidates from collaborative purchase orders to shared users and contractors in Ariba Buyer.
After their hiring managers approve the User Profile Request documents that are automatically generated
when the contractors are created, these contractors can log in to Ariba Buyer and create time sheets.
SendSurveyNotification
The SendSurveyNotification scheduled task (display name “Send Contractor Survey Notification”) sends a
notification message to the hiring manager to complete a contractor survey for a labor item. The task
searches the Ariba Buyer database for labor items in which the contract end date has passed and a contractor
survey has not been submitted. If a survey has already been submitted for a labor item, a notification is not
sent.
This task also verifies whether the hiring manager has the CreateContractorSurvey permission needed to
create the survey. If the hiring manager does not have this permission, the task assigns it to him.
In the default configuration, the JavaScript Contractor Survey Requester Rules rule set
(JavaScriptContractorSurveyRules.rul) determines who approves a contractor survey when a preparer
submits the contractor survey on behalf of the hiring manager.
The following table describes the rules in the JavaScript Contract Survey Requester Rules rule set.
Contractor Survey Manager Simple Add users who have the Contractor Survey Manager role. Yes
Default Edit Rule Edit Edits are allowed but approval must restart.
For information on customizing approval rules, see the Ariba Spend Management Approval Rules Guide.
A time sheet is always associated with exactly one labor line item from a purchase order and covers a time
period of one week. The entries in the time sheet must be within the start and end dates specified on the labor
line item on the purchase order.
Each time sheet essentially serves as a partial receipt for the associated labor line item. For example, if the
purchase order contained a line item for an administrative assistant for a total of 500 hours, each time sheet
the contractor fills out is a partial receipt toward those 500 hours. Non-billable hours (such as Meal Break
hours) are not included toward the total hours.
For more information on how contractors create time sheets, see the Ariba Buyer Procurement User Guide.
For more information on invoices and the steps involved with matching invoices to time and expense sheets,
see the Ariba Invoice Implementation Guide.
A time sheet must contain separate entries for each different pay code. For example, the contractor would
create an entry for the eight hours of regular time and create a second entry for the four hours of overtime,
even though the hours were worked on the same day. The pay codes available on a time sheet are determined
by the contractor’s work location and overtime exempt status. Each work location has a specific set of pay
codes and rules specifying when those pay codes can be used. For example, the Holiday pay code might be
available on a time sheet but can be used only for specific dates.
A time sheet entry can be in one of two formats: summary hours or detailed hours. A summary-hours entry
requires the date and total hours worked. A detailed-hours entry requires the date, start time, and stop time
(the total hours are calculated from these times). By default, time sheet entries are in detailed-hours format.
The format of the time sheet entries is specified by the AllowTimeSheetSummaryHours field on the
LaborLineItemDetails.LaborContractibleProperties object. You can set this field in Ariba Administrator by
taking the following steps.
Warning: Do not allow summary hours in countries where detailed hours are required, such as Mexico.
• To set summary-hours format for a specific item in this category, click the Items tab, and then edit the
item (if it is already in this category) or add it to the category.
3 On the Policies tab, under Engagement Terms, set the value for the Allow Summary Hours policy to Yes.
After you validate and activate the category definition, it applies to new requisitions and orders created after
the activation. Any time sheets for this labor line item (or for all labor line items in this category, depending
on the action you took in step 2) will display entries in summary format. Orders created before the category
definition is activated are not affected.
There are two parameters you can set to control labor law compliance on time sheets:
• Application.Workforce.LaborComplianceEngine—Specifies the compliance engine that performs the
validation. By default, this parameter is set to the default compliance engine that ships with Ariba
Services Procurement. You can also set this parameter to specify a third-party compliance engine or a
custom engine that includes specific pay code validation. For more information on customizing the labor
compliance engine, see Appendix F, “Ariba Services Procurement API.”
• Application.Workforce.AllowTimeSheetViolations—Specifies whether to allow pay code violations on
time sheet entries.
Note that there is no compliance checking for minimum pay rates on time sheets or invoices. This validation
does not exist because in some cases the hiring organization pays a partial amount of the contractor’s actual
wages and the supplier pays the rest.
When you change the Application.Workforce.StartDayForWorkWeek parameter from its default values of 2,
time sheets start each 7-day period on the day you specified. Additionally, these parameters are used
together to determine the number of days in a regular work week in your configuration, which is used to
calculate the estimated number of hours for a labor line item on a requisition.
This parameter is specified at the partition level and is false by default. You can override this parameter for
a category definition or a specific category item by setting the Allow Time Sheet Violations policy in the
Category Definition Manager workspace in Ariba Administrator.
The parameter Application.Workforce.LaborComplianceEngine specifies the engine used to verify labor law
compliance.
To route time sheets to the supplier immediately after they are submitted and before they are approved, set
this parameter to 0. To allow unapproved time sheets to be routed to suppliers after waiting a period of days,
set the parameter to the number of days between 1 and 100. To prevent unapproved time sheets from being
routed to the supplier, set this parameter to a value greater than 100.
LaborPayCodePull
The LaborPayCodePull integration event (display name “Import Labor Pay Codes”) defines pay codes. Pay
codes are assigned to entries on a time sheet to categorize and track payment for those entries. Pay codes
such as MealBreak can be specified as billable or non-billable. Some pay codes can be used as reference to
an activity required by labor law, or for timekeeping purposes.
Pay codes are used to calculate the bill rate on the invoice for each time sheet entry; therefore, they can be
associated with a rate multiplier or markup amount from the category or contract. The LaborPayCode object
contains the mapping between the pay code and rate multiplier or markup, so the pay code on the time sheet
references the LaborPayCode object instead of a string.
In the default configuration, the LaborPayCodePull integration event reads data from the following file:
config\variants\Plain\partitions\None\data\LaborPayCode.csv
Cp1252
UniqueName,Name,LaborContractibleProperties_MultiplierFieldName,LaborContractibleProperties_Marku
pFieldName,Comment
"Regular","Regular","PayRate","Markup","regular hours for day shift"
"Overtime","Overtime","OvertimePayMultiplier","OvertimeMarkup", "overtime hours for day shift"
"Doubletime","Doubletime","DoubletimePayMultiplier","DoubletimeMarkup", "doubletime hours for day
shift"
LaborPayCodeLanguagePull
You can use the LaborPayCodeLanguagePull integration event (display name “Import Labor Pay Code
Translations”) to load translations of labor pay code names.
LaborPayCodeMapPull
The LaborPayCodeMapPull integration event (display name “Import Labor Pay Code Relationships”) maps
external payment codes (such as codes used on supplier invoices) and Ariba internal payment codes. For
example, a supplier might use the code “Straight,” which would map to the internal code “Regular.”
In the default configuration, the LaborPayCodeMapPull integration event reads data from the following file:
config\variants\variant\partitions\partition\data\LaborPayCodeMap.csv
Cp1252
"Key","Value","Preferred","Comment"
"Straight","Regular",,
"Regular","Regular",TRUE,
"OT","Overtime",,
For detailed information on these scheduled tasks, see Appendix C, “Scheduled Tasks Reference.”
DeferredTimeSheets
The DeferredTimeSheets scheduled task (display name “Send Deferred Time and Expense Sheets”) sends
time sheets to Ariba SN after they have been deferred the specified number of days. For example, if you set
the parameter UnapprovedTimeSheetRoutingDeferDays to 5, and there are time sheets that are still unapproved
five or more days after they were submitted for approval, this scheduled task routes them to Ariba SN. Note
that this task processes time sheets only in partitions where the TimeSheetRoutingEnabled parameter is set to
true.
FailedTimeSheets
The FailedTimeSheets scheduled task (display name “Send Failed Time and Expense Sheets”) re-processes
time sheets that were not routed successfully to Ariba SN because of a time sheet or configuration error,
such as the time sheet’s supplier ID not being recognized by Ariba SN. After fixing the error, run this
scheduled task to try routing the time sheets again.
StuckTimeSheets
The StuckTimeSheets scheduled task (display name “Send Stuck Time and Expense Sheets”) handles time
sheets that have become stuck in Sending status.
CreateInvoicesForTimeSheets
The CreateInvoicesForTimeSheets scheduled task (display name “Create Invoices For Time and Expense
Sheets”) converts processed time sheets to invoices. The invoices are created in the same partition as the
sheets they contain. You can specify whether you want to have a single invoice per time sheet or multiple
time sheets per invoice. This scheduled task also works with expense sheets.
You can create multiple instances of the CreateInvoicesForTimeSheet scheduled task to combine both time
and expense sheets from the same partition on the same invoice, to process just one sheet type (for example,
only expense sheets), and to include or exclude suppliers. For more information, see
“CreateInvoicesForTimeSheet Task Customization” on page 83.
CXMLProcessUndeliveredPayloads
The CXMLProcessUndeliveredPayloads scheduled task (display name “Process Undelivered cXML
Documents”) recovers cXML documents that have been queued for delivery but have not been delivered
because the destination has been unreachable or the application server has shut down.
For example, when Ariba Buyer tries to send a time sheet to Ariba SN, and Ariba SN is not responding, the
CXMLProcessUndeliveredPayloads task tries to send the time sheet again.
In the default configuration, the JavaScript Time Sheet Rules rule set (JavaScriptTimeSheetRules.rul)
determines who approves time sheets.
The following table describes the rules in the JavaScript Time Sheet Rules rule set.
Contract Verifier Simple IF a contract is associated with the requester, THEN add Yes
members of the Contract Manager group.
Manager Before Everyone Constraint Place approval requests from the Manager rule first. Yes
Default Edit Rule Edit Edits are allowed but approval must restart.
For information on customizing approval rules, see the Ariba Spend Management Approval Rules Guide.
You can use the CreateInvoicesForTimeSheets scheduled task to convert time sheets and expense sheets to
invoices; the task uses the same Java class (ariba.workforce.core.CreateInvoicesForTimeSheets) for both.
You can create multiple instances of the CreateInvoicesForTimeSheet scheduled task to combine both time
and expense sheets from the same partition on the same invoice, to process just one sheet type (for example,
only expense sheets), and to include or exclude suppliers.
Give each instance of the CreateInvoicesForTimeSheets task in ScheduledTask.table a unique name and set
the parameters for the functionality you want. To run the uniquely named scheduled tasks from Ariba
Administrator, you need to customize the Scheduled Task task in the Server Manager workspace with the
names of the scheduled tasks. To customize workspaces and tasks, you add elements and attributes to the
BuyerServerRoot/config/AdminConfigExt.acf workspace extension file.
When the task runs, it converts the specified sheets that have been processed to a separate invoice line item
for each pay code in a time sheet or each expense line item in an expense sheet. By default, this task runs on
the first day of the month, but you can run it at any time from the Workforce Manager workspace in Ariba
Administrator. Invoices are created in the same partition as the time and expense sheets they contain.
After the scheduled task runs, the Invoice Manager can see the corresponding reconciliation objects, which
should not contain any errors. If there are problems, you can turn on the workforce.invoicing/debug log
category to help trace the problem.
You can customize the tax calculation of these invoices, just as you can with invoice reconciliation
documents. The lookup fields are defined in TimeSheetInvoicingExt.aml (which applies to both time sheet
and expense sheet invoices). For more information, see the chapter on tax APIs in the Ariba Invoice
Implementation Guide.
Examples
In the following examples, the TimeSheetInvoicingGroupingLevel parameter is set to Supplier, which means
that all sheet items from the same partitioned supplier are on a single invoice.
In this example:
• The missing ReceiptType parameter means the task applies to both time and expense sheets.
• Setting the ItemAggregationLevel parameter to POLineItem means that all the time sheet line items that
have the same pay code and match the same purchase order are aggregated to one invoice line item. All
the expense sheet line items are aggregated to another invoice line item. If there are time and expense
sheets associated with multiple purchase orders, there will be multiple invoice line items for time sheets
and multiple invoice line items for expense sheets.
In this example:
• The missing ReceiptType parameter means the task applies to both time and expense sheets.
• Setting the ItemAggregationLevel parameter to Receipt means all the line items from the same expense
sheet are aggregated to one invoice line item. For time sheets, the line items must belong to the same time
sheet and have the same pay code to be aggregated to one invoice line item. For example, suppose a time
sheet has five entries: two for Overtime, one for Regular, and one for DoubleTime. In this case, there are
three invoice line items.
In this example:
• Setting the ReceiptType parameter to ExpenseSheet means only expense sheets are converted to invoices.
Time sheets are ignored,
• Setting the ItemAggregationLevel parameter to POLineItem means that all the ExpenseSheet line items that
match the same purchase order are aggregated to one invoice line item. If there are expense sheets
associated with multiple purchase orders, there will be multiple invoice line items for expense sheets.
INVSupplierInvoiceName-BuyerInvoiceID
If the invoice comes from a supplier, the supplier invoice name is sent from the supplier, and Ariba Buyer
generates the buyer invoice ID. If the invoice is converted from a time or expense sheet, the supplier invoice
name is generated by Ariba Buyer.
When a copy of the invoice is sent to Ariba SN, the supplier invoice name must be unique among all buyers
and suppliers on Ariba SN, so the supplier invoice name is formatted as follows:
BuyerOrgName-SupplierOrgName-BuyerInvoiceID
INVBuyerOrgName-SupplierOrgName-BuyerInvoiceID-BuyerInvoiceID
For example, if the buyer organization name is Buyers, Inc., the supplier organization name is Suppliers,
Inc., and the buyer invoice ID is 16, the invoice name would look like this:
The supplier organization name varies depending on the way the time or expense sheets are grouped on the
invoice, as specified in the CreateInvoicesForTimeSheets scheduled task:
INVBuyers, Inc.-PO123-16-16
INVBuyers, Inc.-TS456-16-16
INVBuyers, Inc.-ES456-16-16
For complete instructions on how to set up this feature, see the README.txt file located in the
sample/timesheetpull directory.
As contractors incur allowed expenses, they can fill out expense sheets so they can be reimbursed. Suppliers
can then submit invoices against the expense sheets, or the hiring organization can run a scheduled task to
convert approved expense sheets into invoices.
In order for a contractor to create an expense sheet, the labor category item must be configured with a
contractor expense line item (_ContractorExpensesItem line type as defined in the ProcureLineType.csv file).
In Ariba Administrator, the Category Manager sets policies that specify a total amount for expenses. An
expense line item can also be configured so that the supplier can adjust the expense amount for a proposed
candidate.
After a candidate is approved, the expense line item is generated from the proposed expense amount and
merged back to the requisition. After the requisition is approved, the expense line item is included on the
purchase order sent to the supplier.
An expense sheet is always associated with exactly one labor line item from a purchase order. The entries in
the expense sheet must be within the start and end dates specified on the labor line item on the purchase
order.
Each expense sheet essentially serves as a partial receipt for the associated labor line item. For example, if
the purchase order contained a contractor expense line item not to exceed $3,000, each expense sheet the
contractor submits is a partial receipt toward the $3,000 limit.
A contractor can only submit expenses that are defined for the labor line item.
For more information on invoices and the steps involved with matching invoices to expense sheets, see the
Ariba Invoice Implementation Guide.
ContractorExpenseTypePull
The ContractorExpenseTypePull integration event (display name “Import Contractor Expense Types”)
defines contractor expense types in your configuration. In the default configuration, this integration event
reads data from the following files:
ariba/variants/Plain/partitions/None/data/ContractorExpenseType.csv
config/variants/Plain/partitions/None/data/ContractorExpenseType.csv
Cp1252
UniqueName,Name
"mileage","Mileage"
"carRental","Car Rental"
"airfare","Airfare"
"hotel","Hotel"
"taxi","Taxi"
"tolls","Tolls"
"meals","Meals"
"gas","Gas"
"parking","Parking"
"perDiem","Per Diem"
"phone","Phone"
"internet","Internet"
"miscellaneous","Miscellaneous"
"supplies","Supplies"
"tips","Tips"
ContractorExpenseTypeLanguagePull
You can use the ContractorExpenseTypeLanguagePull integration event (display name “Import Contractor
Expense Type Translations”) to import translations for contractor expense types.
ProcureLineTypePull
The ProcureLineTypePull integration event (display name “Import Procurement Line Types”) defines the set
of procurement line types available in your configuration. One of these procurement line types is
_ContractorExpenseItem. Therefore, be sure to run the ProcureLineTypePull integration event.
For more information, see “Scheduled Tasks for Time Sheets” on page 82.
You can create multiple instances of the CreateInvoicesForTimeSheet scheduled task to combine both time
and expense sheets from the same partition on the same invoice, to process just one sheet type (for example,
only expense sheets), and to include or exclude suppliers. For more information, see
“CreateInvoicesForTimeSheet Task Customization” on page 83.
In the default configuration, the JavaScript Expense Sheet Rules rule set (JavaScriptExpenseSheetRules.rul)
determines who approves expense sheets.
The following table describes the rules in the JavaScript Expense Sheet Rules rule set.
Contract Verifier Simple IF a contract is associated with the requester, THEN add Yes
members of the Contract Manager group.
Manager Before Everyone Constraint Place approval requests from the Manager rule first. Yes
Default Edit Rule Edit Edits are allowed but approval must restart.
For information on customizing approval rules, see the Ariba Spend Management Approval Rules Guide.
Invoice Exception Types View, edit, add, and delete invoice One of the following:
exception types. For more • InvoiceAdministrator
information, see the Ariba Invoice
• InvoiceManager
Implementation Guide.
• PaymentManager
Generated Subscriptions View generated subscriptions, GeneratedCatalogSubscription
compare generated subscription
versions, and view and email
generated subscription errors.
Enumerations View, import, and export category
enumerations.
Category Description
application.procurement.categoryProcurement Displays all messages related to category procurement
activity. If this log category results in too many messages,
you can selectively enable its sub-categories instead.
categoryDefinitionPropertyAccess A sub-category of the categoryProcurement log category,
this log category displays just those messages related to the
visibility and editability of category definition properties.
Category Description
categoryDefinitionPropertyCompliance A sub-category of the categoryProcurement log category,
this log category displays just those messages related to the
compliance of category definition property values.
categoryDefinitionPropertyUpdate A sub-category of the categoryProcurement log category,
this log category displays just those messages related to the
updating of category definition property values.
collaboration Displays all messages related to collaboration activity. This
log category has no sub-categories.
You use the Generated Subscriptions task in the Category Definition Manager workspace to manage
generated subscriptions.
4 Click Compare to generate a report comparing the subscription versions, or Generated Subscription Home to
return to the previous page without comparing the versions.
If a subscription contains an item with an error or fails to load correctly into Ariba Administrator, it will
have the status of Validation Error. To correct errors, you must edit the original contract request.
3 Enter recipients email addresses in the To, CC, and Bcc fields.
5 Review the Message field text. By default, the message field contains a summary of the number of each
kind of error, the number of errors selected to be sent in the email and the severity, line number and
description of each error.
6 Edit the default information and add your own comments as necessary.
7 Choose a format to attach the subscription file. You do not have to attach the file to send the email
message.
8 To add additional errors to the email message, click Add Errors.
9 Click Send to send the email message, or Cancel to return to the previous page without sending the email
message. A confirmation message appears when the email message is sent.
Managing Contractors
You use the Contractors task in the Workforce Manager workspace to manage contractors.
When you create a contractor, you specify the user on which this contractor is based. Therefore, you must
create the user before you create the contractor.
Column Description
Name The contractor’s unique name.
Contractor ID The contractor’s unique ID. The unique name and unique ID are used together to identify
the contractor in the system.
User The user on which the contractor is based. After you select a user, information about the
user is automatically displayed on the Shared User General Info and Shared User
Permissions tabs.
Do Not Hire (Optional) Specify whether the contractor should not be hired. Only the Workforce
Manager can use the Do Not Hire search filter on the Contractors screen to generate a list of
contractors who are designated as not to be hired.
Reason If you select Do Not Hire, provide a reason. Only the Workforce Manager and Contract
Manager have access to the reason. The hiring manager and supplier do not see this
information.
Note: When you create a contractor, the consecutive onsite days and current sit days (which are related to
contractor time tracking and co-employment risk issues) are zero. This read-only data is updated by the
ComputeConsecutiveOnSiteDays and RecomputeConsecutiveOnSiteDays scheduled tasks.
If the purchase order specified the wrong existing contractor, you can move just the labor line item(s) for that
purchase order from the incorrect contractor to the correct contractor. If the purchase order should have
created a new contractor instead of specifying an existing contractor, you must create the new contractor
manually, and then move the appropriate line items from the existing contractor to the new contractor.
Note: Never move lines between contractors if time sheets have been created for that contractor for a given
labor line.
Note: If you make a mistake when moving line items between contractors, you can simply move them
back. However, if you mistakenly deleted the contractor, you must create the contractor again before you
can move the items back.
5 Click OK.
6 Click Save to save the new contractor, or click Cancel to return to the previous screen without saving the
new contractor.
For example:
<field name="BillRate"
respectable="true">
...
</field>
You add a file attachment field using the class ariba.app.util.Attachment and the field controller
ariba.htmlui.approvableui.fields.ARFAttachment. For example, the Project Labor category driver includes
the field SOW Attachment in the requisition header:
<class
name="ariba.spendcategory.projectlabor.core.ManagementConsultingSharedGlobalItemProperties"
prefix="MSGP"
super="ariba.procure.core.SharedGlobalItemProperties"
partitioned="false"
...
<field name="SOWAttachment"
privacy="documented"
nullAllowed="true">
<type class="ariba.app.util.Attachment"/>
<properties label="SOW Attachment"
controller="ariba.htmlui.approvableui.fields.ARFAttachment"/>
</field>
Auto-Calculating Fields
In some cases, you might need to auto-calculate fields, so that their value is populated based on the value of
another field and is updated when another field changes. For example, the Labor category driver has the
fields Bill Rate, Pay Rate, Markup Amount, and Markup Percent. The Bill Rate is the sum of the Pay Rate
plus the Markup Amount, or if the markup is a percentage, the Bill Rate is the product of the Pay Rate
multiplied by the Markup Percent.
To auto-calculate a field, you create a Java file that performs the calculation, and then update the field using
a trigger and/or the ProcureCategoryUtil method calculateDependentFields. For example, the Consulting
category driver uses this trigger to update the quantity and price fields when the hours per week change:
<trigger
name="UpdateQuantityAndPriceOnHoursChange"
event="FieldChange"
field="HoursPerWeek">
<action implementation =
"ariba.spendcategory.consulting.core.action.UpdateQuantityAmountOnHoursOrDateChange"/>
</trigger>
You should only use triggers to auto-calculate fields that are not contractible properties. For contractible
properties, use calculateDependentFields instead.
When you create a new shared global item property, you add it to the AggregatedCategoryItemsDetails
group to enable it to display with the other requisition header fields in the user interface, including the Add
Items and Checkout pages. If the requisition contains collaborative line items, the shared global item
property also appears on the collaboration request and proposal.
SharedGlobalItemProperties CategoryDefinitionPermissionProperties
GlobalItemProperties CategoryDefinitionEditItemProperties
or
ContractibleProperties
When you add a field to one of these groups, they appear in the Category Definition Manager workspace in
Ariba Administrator. However, you must also add the editability and visibility conditions to the field.
For example, to all the visibility and editability of the contractible property field Rate to be controlled in the
category definition, you would add the field to the CategoryDefinitionEditItemProperties group, and then
you could add editability and visibility conditions like this:
<groupField name="ConsultingContractibleProperties.Rate">
<editability>
<condition implementation="ariba.procure.core.condition.CategoryPropertyEditability"/>
</editability>
<visibility>
<condition implementation="ariba.procure.core.condition.CategoryPropertyVisibility"/>
</visibility>
Note that even when you specify the group field name using dotted path notation as in this example, only the
last path element is used to look up the field. Therefore, you should ensure that all field names within a
category are unique. For example, if you had a contractible property field and a global item property field
both named Rate, a conflict would occur.
To display a field only if the item is the default item type instead of a milestone, expense, or fixed fee, set the
IsRegularCategoryItem condition. For example:
<visibility>
<condition implementation="ariba.procure.core.condition.IsRegularCategoryItem"/>
</visibility>
When adding the condition, you can specify it at the class level when defining the field, or you can specify it
at the field level when adding the field to a group. If you specify any conditions at the field level, however,
you override the conditions at the class level, so you must repeat all conditions from the class level at the
field level. Alternatively, you can set the ClassLevelEditability and ClassLevelVisibility conditions to
pick up the editability and validity conditions from the class level.
For collaborative items, you typically enforce validation for both the requisition and for a
CollaborationDocument object. You should provide the same label property value as the aliased field. One
way to do this is to set up a derived field that has an alias path to the subfield. Following is an example:
<derived>
<field name="BillRate"
aliasPath="LaborContractibleProperties.BillRate"
privacy="private"
nullAllowed="true">
<type class="ariba.procure.core.QualifiedMoney"/>
<validity clusterType="ariba.purchasing.core.Requisition">
<orCondition>
<notCondition>
<condition
implementation="ariba.procure.core.condition.IsRegularCategoryItem"
testField="this"/>
</notCondition>
<andCondition>
<condition
implementation="ariba.procure.core.condition.CategoryPropertyCompliance"
testField="this">
<parameter name="PropertyFieldPath"
value="ContractibleProperties.BillRate"/>
</condition>
<condition implementation="ariba.workforce.core.condition.ValidBillRate"
testField="this"/>
</andCondition>
</orCondition>
</validity>
<validity clusterType="ariba.collaboration.core.CollaborationDocument">
<orCondition>
<notCondition>
<condition
implementation="ariba.procure.core.condition.IsRegularCategoryItem"
testField="this"/>
</notCondition>
<andCondition>
<condition
implementation="ariba.procure.core.condition.CategoryPropertyCompliance"
testField="this">
<parameter name="PropertyFieldPath"
value="ContractibleProperties.BillRate"/>
</condition>
<condition implementation="ariba.workforce.core.condition.ValidBillRate"
testField="this"/>
</andCondition>
</orCondition>
</validity>
<properties label="@aml.Workforce/LaborBillRateLabel"/>
</field>
</derived>
Note that you may need to duplicate the validation for the field either in the group LineItemDetailsGeneral
or at the class level (LaborContractibleProperties.BillRate field in the previous example), to ensure that
the validation error is visible on the Edit Line Items page. This is because the derived field is not shown in
the group—the actual field itself is shown.
Filtering Suppliers
In the default configuration, the FilterInvalidInvitedSuppliers group filters out ranked suppliers that are
invalid in a partition. For example, in SAP partitions, the supplier must be in the same PurchaseOrg as the
line item, and in PeopleSoft partitions, the Supplier SetID for the Business Unit must be the same as the line
item. You can add more validity conditions to this group to customize how ranked suppliers are filtered in
partitions.
If the category specifies that all suppliers are allowed, you can create partition-specific filtering by using a
custom nametable on the CategoryLineItemDetails.CustomRankedSupplier field.
Customizing Over-Acceptance
In the default configuration, when a member of the collaboration team accepts multiple candidates or
proposals for a single requisition line item, an error is displayed indicating that only one proposal or
candidate can be accepted. (Items added by the supplier are not included in this validation.) However, you
can customize this behavior so that over-acceptance is a warning instead of an error.
To change over-acceptance to a warning, you set the IsError parameter in the validity condition to false in
the CheckOverAcceptance, AcceptProposalConfirmation, and AcceptProposalConfirmation_WithAcceptedFlag
groups. You also change the MessageKey value from CandidateOverAcceptanceError to
CandidateOverAcceptanceWarning in the CheckOverAcceptance group. For example,
<group name="CandidateOverAcceptance">
<groupClass name="ariba.workforce.core.LaborCollaborationLineItemDetails">
<groupField name="LineItem.NumberInCollection">
<validity>
<condition
implementation="ariba.collaboration.core.condition.CheckOverAcceptance"
testField="LineItem">
<parameter name="IsError" value="false"/>
<parameter name="MessageTable" value="aml.Workforce"/>
<parameter name="MessageKey" value="CandidateOverAcceptanceWarning"/>
</condition>
</validity>
...
</groupField>
</groupClass>
</group>
To prevent external users such as suppliers from viewing the additional information, you set the
hideLinkForExternalUsers property on the field to true so that any user logged in as an external user sees the
object as plain text, not as a hyperlink. For example, in the default configuration, the Requester field is
specified like this:
<field name="Requester"
hideLinkForExternalUsers="true"
...</field>
Depending on the settings on the user’s computer, field tips display for only a few seconds. Therefore, you
should make the field tip as concise as possible so that the user can read and understand the tip quickly.
To create a field tip, you add the helpTip property to the field’s definition in the metadata XML. For
example, the Bill Rate field in the Labor category driver defines a field tip as follows:
<field name="BillRate"
respectable="true">
...
<properties helpTip="@aml.workforce.fieldtip/LaborBillRateTip"
label="@aml.Workforce/LaborBillRateLabel"
...
</field>
In this case, the actual text that displays is defined externally so that it can be translated.
Customizing Orders
For outgoing orders being sent to Ariba SN, you can include extrinsics in the order header by adding those
extrinsics to the group CategoryHeaderExtrinsics. Additionally, you can customize the order formatter
template.
For general information on how to customize cXML templates, see Ariba Spend Management Channels
Guide.
For information on the XML elements that can appear in the labor configuration extension file, see the DTD
file at ariba/workforce/core/laborComplianceExt.dtd.
You can also override the default labor compliance engine, which is defined in the class
ariba.workforce.core.LaborComplianceEngine. For more information, see “Labor Compliance Engine” on
page 166.
Note: The multipliers in the default labor configuration files are merely annotations. They are included for
completeness so that those creating compliance rules will be familiar with the ramifications of using a pay
code.
When a field in the PreventOverridingACPFieldValuesOnCopygroup is copied, the “user set” flag is turned on
for that field to prevent default policies from overriding user-entered data. For temporary labor items, Ariba
Buyer runs consistency calculations to ensure that PayRate + Markup = BillRate. When a user changes both
the BillRate and the PayRate, one field is usually chosen to override the other. If there is a Markup present,
PayRate is overridden. If no Markup is present, BillRate is overridden.
To modify this behavior for copied line items, you can write a metadata XML extension that removes the
field you typically want to be overridden from the PreventOverridingACPFieldValuesOnCopy group. If either
the PayRate or BillRate is editable (but not both), remove the non-editable field from the
PreventOverridingACPFieldValuesOnCopy group.
Important: Never remove both BillRate and PayRate from the PreventOverridingACPFieldValuesOnCopy
group. If both fields are removed, default policies will override user-entered values.
For example, if BillRate is editable but PayRate is not, remove PayRate from the group. In the following
example, PayRate is removed from the PreventOverridingACPFieldValuesOnCopy group.
If both PayRate and BillRate are editable, a user can clear the field to be overridden (by making the field
empty), set the other field, and then click Calculate to update the cleared value.
When Ariba Buyer sends a collaboration request to Ariba SN, it generates the collaborationId from the
requisition number. Ariba SN does not allow spaces in the collaborationId. Therefore, if requisition
numbering is customized in your configuration, make sure the indexId does not contain spaces.
Following is an example of the error generated by Ariba SN when a collaborationId contains spaces:
For more information on approvable document numbering, see the Ariba Buyer Configuration Guide.
<group name="FilterInvalidInvitedSuppliers">
<groupClass name="ariba.procure.core.RankedSupplierValidation">
<groupClassVariant name="vsap">
<groupField name="RankedSupplier.PartitionedSupplier">
<validity>
<orCondition>
<condition implementation="ariba.common.core.condition.DirectSupplier"
nullHandling="forceFalse"/>
<condition
implementation="ariba.common.core.condition.ObjectMatchingQuery"
nullHandling="forceFalse">
<parameter name="AdditionalClasses"
value="ariba.core.PorgSupplierCombo"/>
<parameter name="AQLCondition"
value="PorgSupplierCombo.Supplier = :Supplier
AND PorgSupplierCombo.PurchaseOrg =
:PurchaseOrg"/>
<parameter name="Supplier"
inputField="RankedSupplier.PartitionedSupplier"
nullHandling="forceTrue"/>
<parameter name="PurchaseOrg"
inputField="LineItem.PurchaseOrg"
typeCast="ariba.core.PurchaseOrg"
nullHandling="forceTrue"/>
<parameter name="IgnoreQueryCache"
value="false"/>
</condition>
</orCondition>
</validity>
</groupField>
</groupClassVariant>
</groupClass>
You can override the list of invited suppliers by creating a custom Java class that implements the
ariba.procure.core.category.CustomInvitedSuppliers interface and specifying it in the
Application.CategoryProcurement.CustomInvitedSuppliersImplementation parameter.
The CustomInvitedSuppliers interface returns the list of InvitedSuppliers (which includes only required
RankedSuppliers if the requiredSuppliersOnly Boolean is set to true), as calculated by ordering attributes
and category definition mappings for a given line item. For more information on the CustomInvitedSuppliers
interface, see the Javadoc.
AddCustomInvitedSupplier
When a catalog item allows custom-invited suppliers (suppliers that are not available from the Invited
Suppliers list), any user with edit capability can add a supplier prior to collaboration. You can configure the
Application.CategoryProcurement.AddCustomInvitedSupplierPermission parameter to limit the users that
can add custom-invited suppliers to users who have a specific permission. This permission is provided for
this purpose.
In the default configuration, this permission is assigned to the Add Custom Invited Supplier role.
CategoryManager
This permission gives users access to the Category Definition Manager workspace in Ariba Administrator.
In the default configuration, this permission is assigned to the Workforce Manager role.
CategoryCatalogTypeImpactReport
This permission is no longer used in this release.
CategoryDefinitionManager
Users who have this permission can use the Category Definition Manager workspace in Ariba
Administrator. In the default configuration, this permission is assigned to the Category Definition Manager
role.
ChangeSuppliersWhileCollaborating
When Ariba Services Procurement is configured to allow supplier changes during collaboration, any
member of the collaboration team and the requester can change suppliers during collaboration. You can
configure the Application.CategoryProcurement.ChangeSuppliersWhileCollaboratingPermission parameter
to limit the users that can change suppliers during collaboration to users who have a specific permission.
This permission is provided for that purpose.
ContractorExpenseSheetManager
This permission is used for authorization. Users who have this permission are able to view and change all
contractor expense sheets in the system. In the default configuration, this permission is assigned to the
Contractor Expense Sheet Manager role.
ContractorSurveyManager
This permission is used for authorization. Users who have this permission can view, edit, and delete
contractor surveys in Ariba Administrator. In the default configuration, this permission is assigned to the
Contractor Survey Manager role.
CreateCategory
This permission is required for users to create new categories. In the default configuration, this permission is
assigned to the following roles:
• Category Definition Manager
• Workforce Manager
CreateContractorExpenseSheet
This permission is used for authorization. Users who have this permission are able to create contractor
expense sheets. In the default configuration, this permission is assigned to the following roles:
• Create Contractor Expense Sheet
• Contractor Expense Sheet Manager
CreateContractorSurvey
This permission is used for authorization. Users who have this permission are able to evaluate a contractor’s
work by creating a contractor survey. In the default configuration, this permission is assigned to the
following roles:
• Contractor Survey Manager
• Create Contractor Survey
This permission is automatically assigned to the hiring manager when the SendSurveyNotification
scheduled task is run.
CreateRequisition
This permission is used for authorization. You might want to use this permission in ApprovableType.csv to
prevent contractors from creating requisitions. In the default configuration, this permission is assigned to the
following roles:
• Internal
• Purchasing User
CreateTimeSheet
This permission is used for authorization. Users who have this permission are able to create contractor time
sheets. In the default configuration, this permission is assigned to the following roles:
• Create Time Sheet
• Time Sheet Manager
Contractors and the Create Time Sheet role have this permission by default.
EditCategory
This permission enables users to modify any category in the Category Definition Manager in Ariba
Administrator. By default, only users who are specified as category owners in a particular category
definition can edit that category definition. This permission allows a user to edit any category, even ones for
which the user is not the category owner. In the default configuration, this permission is assigned to the
Category Definition Manager role.
EndCollaboration
Typically, any member of the collaboration team and the requester can end a collaboration. You can
configure the Application.CategoryProcurement.EndCollaborationPermission parameter to limit the users
that can end a collaboration to users who have a specific permission. This permission is provided for that
purpose. In the default configuration, this permission is assigned to the following roles:
• Collaboration Super User
• End Collaboration
External
Ariba Services Procurement uses this permission to identify users that are external to your buying
organization. For example, when a supplier punches in to Ariba Buyer from Ariba SN to view a
collaborative requisition, Ariba Buyer creates a supplier user and assigns it to this group. In addition, some
sample procurement category definitions specify that users with the External permission can view and edit
certain category item properties.
For information on enabling suppliers to punch in to Ariba Buyer from Ariba SN so that they can
collaborate, see the Ariba Spend Management Integration Guide.
GeneratedCatalogSubscription
This permission is used for access to view the Generated Subscription task of the Catalog Manager
workspace in Ariba Administrator. Generated subscriptions are created from contract requests for
non-catalog items on item level contracts and for procurement category definitions. In the default
configuration, this permission is assigned to the following roles:
• Catalog Manager
• Contract Manager
• Category Manager
Internal
Ariba Services Procurement uses this permission to identify users that are part of your internal buying
organization. For example, some sample procurement category definitions specify that only users who have
the Internal permission can view and edit certain category item properties. In the default configuration, this
permission is assigned to the Internal role
SupplierChangePO
This permission is reserved for future use.
SupplierInvoice
This permission is reserved for future use.
SupplierReceive
This permission is reserved for future use.
TimeSheetManager
This permission is used for authorization. Users who have this permission are able to view and change all
contractor time sheets in the system. In the default configuration, this permission is assigned to the Time
Sheet Manager role.
ViewContractorSurvey
This permission is used for authorization. Users who have this permission can view and remove contractor
surveys associated with a labor order. In the default configuration, this permission is assigned to the
following roles:
• Contractor Survey Manager
• View Contractor Survey
• Workforce Manager
WorkforceManager
This permission is used for authorization. Users who have this permission can use the Workforce Manager
workspace in Ariba Administrator. In the default configuration, this permission is assigned to the following
roles:
• Buyer Administrator
• Workforce Manager
Category Management
In the default configuration, this role contains the DashboardAuthorized permission.
Category Manager
This role is deprecated in this release. The Category Definition Manager role replaces this role.
End Collaboration
In the default configuration, this role contains the EndCollaboration permission.
External
In the default configuration, this role contains the External permission.
Internal
In the default configuration, this role contains the following permissions:
• CreateExpenseReport
• CreateRequisition
• CreateTravelAuthorization
• CreateTravelProfile
• Internal
Workforce Manager
In the default configuration, this role contains the following permissions:
• CategoryCatalogTypeImpactReport
• CategoryManager
• CreateCategory
• GeneratedCatalogSubscription
• ViewContractorSurvey
• WorkforceManager
In the default configuration, this group contains the Add Custom Invited Supplier role.
Category Manager
This group is deprecated in this release. The Category Definition Manager group replaces this group.
In the default configuration, this group contains the Change Suppliers While Collaborating role.
End Collaboration
Typically, any member of the collaboration team and the requester can end a collaboration. You can
configure the Application.CategoryProcurement.EndCollaborationGroup parameter to limit the users that
can end a collaboration to users who belong to a specific group,. This group is provided for that purpose.
In the default configuration, this group contains the End Collaboration role.
External
In the default configuration, this group contains the External role.
Internal
In the default configuration, this group contains the Internal role.
Workforce Manager
In the default configuration, this group contains the Workforce Manager role.
This appendix describes Ariba Services Procurement-related notification messages. For information on
notification messages that are common to all Ariba Buyer modules, see the Ariba Buyer Configuration
Guide.
Label Description
preparer A user who prepares and submits a request.
requester The same user as the preparer, unless the preparer submits a request on behalf of another
user. In that case, the user who submits the request is the preparer, and the other user is the
requester.
watcher A user who has been assigned to observe a request. Watchers receive the same notification
messages as preparers.
delegate A user to whom an approver has delegated approval authority. Delegates receive the same
notification messages as approvers.
Cause:
When Ariba Buyer cannot send a collaboration request, or the transaction is unacceptable to Ariba SN,
Ariba Buyer sends this notification message to members of the collaboration team.
Action:
Fixing this error typically requires manual intervention. If there were data errors, collaboration team
members can edit the collaboration request in Ariba Buyer.
Cause:
When a supplier declines a collaboration request, Ariba Buyer sends this notification message to members of
the collaboration team.
Action:
This notification message is for information only and does not require any action.
Cause:
When a supplier responds to a collaboration request with a collaboration proposal, Ariba Buyer sends this
notification message to members of the collaboration team.
Action:
This notification message is for information only, and does not require any action.
Cause:
When a supplier withdraws a previously submitted collaboration proposal, Ariba Buyer sends this
notification message to members of the collaboration team.
Action:
Collaboration team members can view the collaboration proposal from the supplier in Ariba Buyer.
Cause:
When a supplier or collaboration team member creates a new message on the message board for a
collaboration request, Ariba Buyer sends this notification message to members of the collaboration team.
Action:
Collaboration team members can view the message on the message board for this collaboration request in
Ariba Buyer.
Cause:
When a collaboration request is canceled, Ariba Buyer sends this email notification message to the preparer.
Action:
This email notification message is for information only and does not require any action.
Cause:
The SendSurveyNotification scheduled task (display name “Send Contractor Survey Notification”) sends
this notification message to the hiring manager to complete a contractor survey for a labor item. For more
information, see “SendSurveyNotification” on page 130.
Action:
Log in to Ariba Buyer and complete the contractor survey.
This appendix contains a list of Ariba Services Procurement-related scheduled tasks. For scheduled tasks
that are common to all modules, see the Ariba Buyer Configuration Guide.
UpdateReactivatedCategoryData
UpdateReactivatedCategoryData = {
ScheduledTaskClassName = "ariba.procure.core.category.UpdateReactivatedCategoryData";
};
The UpdateReactivatedCategoryData scheduled task (display name “Migrate Reactivated Category Data”) is
a migration task that migrates transactional data such as requisitions, purchase orders, and collaboration
documents that reference category definitions that have been reactivated on a migrated instance.
ComputeConsecutiveOnSiteDays
ComputeConsecutiveOnSiteDays = {
Reset = false;
ScheduledTaskClassName = "ariba.workforce.core.ComputeConsecutiveOnSiteDays";
Schedules = {
Schedule1 = {
DayOfWeek = Saturday;
Hour = 3;
Minute = 01;
};
};
};
The ComputeConsecutiveOnSiteDays scheduled task (display name “Compute Consecutive On Site Days”)
searches the Ariba Buyer database for payable time entries on time sheets (determined by the PayCode field
on a TimeSheetItem object) to compute the number of consecutive business days a contractor has worked
(onsite days). The total of the ConsecutiveDayCount field on the Contractor object is increased by one for
each day a contractor works, regardless of the number of hours worked in a day.
If a contractor does not work on a subsequent business day (a sit day), the total of the CurrentSitDayCount
field on the Contractor object is increased by one. The CurrentSitDayCount total is reset to zero the next
time the ConsecutiveDayCount total is increased.
The date the scheduled task is run is saved in the CutoffDate field on the Contractor object. To reduce CPU
load, this scheduled task uses an incremental computation algorithm, which searches for payable time
entries dated after the previous computation was performed and saved (the cut off date).
In the default configuration, this scheduled task automatically runs once a week (on Saturday at 3:01 AM).
You must manually run the RecomputeConsecutiveOnSiteDays scheduled task if you change the threshold
values for either of the following parameters:
Application.Workforce.MaxConsecutiveOnSiteDays
Application.Workforce.MinGoodSitDays
CreateInvoicesForTimeSheets
CreateInvoicesForTimeSheets = {
PreparerUniqueName = "Application.Base.Data.AribaSystemUser";
PreparerPasswordAdapter = "Application.Base.Data.AribaSystemUserPasswordAdapter";
ScheduledTaskClassName = "ariba.workforce.core.CreateInvoicesForTimeSheets";
Schedules = {
Schedule1 = {
DayOfMonth = 1;
};
};
TimeSheetInvoicingGroupingLevel = Supplier;
IncludedSuppliers = "SupplierID";
ExcludedSuppliers = "SupplierID";
SupplierDomain = "SupplierDoman";
ReceiptType = "value";
ItemAggregationLevel = "Receipt";
};
The CreateInvoicesForTimeSheets scheduled task (display name “Create Invoices For Time and Expense
Sheets”) converts processed time sheets and expense sheets to invoices. The invoices are created in the same
partition as the sheets they contain.
• ItemAggregationLevel specifies how sheet line items are aggregated on an invoice. Valid values are:
• Receipt (the default)—all the line items from the same expense sheet are aggregated to one invoice line
item. For time sheets, the line items must belong to the same time sheet and have the same pay code to
be aggregated to one invoice line item. For example, suppose a time sheet has five entries: two for
Overtime, one for Regular, and one for DoubleTime. In this case, there are three invoice line items.
• POLineItem—all the time sheet line items that have the same pay code and match the same purchase
order are aggregated to one invoice line item. All the expense sheet line items are aggregated to another
invoice line item. If there are time and expense sheets associated with multiple purchase orders, there
will be multiple invoice line items for time sheets and multiple invoice line items for expense sheets.
CXMLProcessUndeliveredPayloads
CXMLProcessUndeliveredPayloads = {
Oldest = 3;
Units = Days;
ScheduledTaskClassName = "ariba.cxml.base.core.CXMLProcessUndeliveredPayloads";
Schedules = {
Schedule1 = {
DayOfWeek = Everyday;
Hour = 3;
Minute = 30;
};
};
{
Youngest = 1;
Oldest = 3;
Units = Days;
}
Youngest and Oldest are integer values that specify the age range of messages to select. The value is
subtracted from the current time, scaled by the Units parameter, in days, minutes, or hours.
DeferredTimeSheets
DeferredTimeSheets = {
ScheduledTaskClassName = "ariba.workforce.network.DeferredTimeSheets";
Schedules = {
Schedule1 = { DayOfWeek = Everyday; Hour = 1; Minute = 01;};
};
};
The DeferredTimeSheets scheduled task (display name “Send Deferred Time and Expense Sheets”) sends
time sheets and expense sheets to Ariba SN after they have been deferred the number of days specified by
the parameter Application.Workforce.UnapprovedTimeSheetRoutingDeferDays.
For example, if this parameter is set to 5, and there are time sheets or expense sheets that are still unapproved
five or more days after they were submitted for approval, the DeferredTimeSheets scheduled task routes
them to Ariba SN.
This task processes time sheets and expense sheets only in partitions where the TimeSheetRoutingEnabled
parameter is set to true.
FailedCollaborationRequests
FailedCollaborationRequests = {
MaxNumberOfCollaborationRequests = 100;
ScheduledTaskClassName = "ariba.collaboration.core.network.FailedCollaborationRequests";
};
The FailedCollaborationRequests scheduled task (display name “Send Failed Collaboration Requests”)
re-processes collaboration requests that were not routed successfully to Ariba SN because of a request or
configuration error, such as the supplier ID not being recognized by Ariba SN. After fixing the errors, run
this task manually to try routing failed collaboration requests again. The MaxNumberOfCollaborationReqeusts
parameter specifies the maximum number of requests that will be processed each time this task runs. If there
are more failed collaboration requests than is specified, run the task again. Limiting the number of requests
in each run improves performance.
FailedTimeSheets
FailedTimeSheets = {
MaxNumberOfTimeSheets = 100;
RespectTimeSheetRoutingEnablement = true;
ScheduledTaskClassName = "ariba.workforce.network.FailedTimeSheets";
};
The FailedTimeSheets scheduled task (display name “Send Failed Time and Expense Sheets”) re-processes
time sheets and expense sheets that were not routed successfully to Ariba SN because of a time sheet,
expense sheet, or configuration error, such as the time sheet’s supplier ID not being recognized by Ariba SN.
After fixing the errors, run this task manually to try routing failed time sheet or expense sheet again.
LoadLaborComplianceRules
LoadLaborComplianceRules = {
ScheduledTaskClassName = "ariba.workforce.core.LoadLaborComplianceRules";
};
The LoadLaborComplianceRules scheduled task (display name “Load Labor Compliance Rules”) reloads
the labor compliance rules for the partition. You can use the parameter
Application.Workforce.LaborComplianceExtensionFile to specify the location of a partition-specific
LaborComplianceRuleExt.lcf file. If this parameter is not set, the default rules (as defined by
ariba/variants/Plain/workforce/LaborCompliance.lcf and config/LaborComplianceExt.lcf) are used.
For information, see “Customizing the Labor Configuration File” on page 103.
ProcessContractorCreation
ProcessContractorCreation = {
ScheduledTaskClassName = "ariba.workforce.core.ProcessContractorCreation";
Schedules = {
Schedule1 = { DayOfWeek = Everyday; Hour = 1; Minute = 01;};
};
};
The ProcessContractorCreation scheduled task (display name “Batch Create Contractors Task”) converts
accepted candidates from collaborative purchase orders into contractors in Ariba Buyer. These contractors
can then log in to Ariba Buyer and create time sheets, and expense sheets if the labor line item is configured
with expense policies.
RecomputeConsecutiveOnSiteDays
RecomputeConsecutiveOnSiteDays = {
Reset = true;
ScheduledTaskClassName = "ariba.workforce.core.ComputeConsecutiveOnSiteDays";
};
Typically, you use the ComputeConsecutiveOnSiteDays task to calculate the number of consecutive onsite
days and current sit days for contractors. If, however, you change the threshold values for either of the
Application.Workforce.MaxConsecutiveOnSiteDays or Application.Workforce.MinGoodSitDays parameters,
you must manually run the RecomputeConsecutiveOnSiteDays task so that the results that were saved when
you last ran the ComputeConsecutiveOnSiteDays task will be valid for the next time you run it.
The CPU load for this task is significantly higher than for the ComputeConsecutiveOnSiteDays task, as it
searches for all payable time entries (whereas the ComputeConsecutiveOnSiteDays task uses an incremental
computation algorithm).
The RecomputeConsecutiveOnSiteDays scheduled task searches the Ariba Buyer database for payable time
entries on time sheets (determined by the PayCode field on a TimeSheetItem object) to compute the number of
consecutive business days a contractor has worked (onsite days). The total of the ConsecutiveDayCount field
on the Contractor object is increased by one for each day a contractor works, regardless of the number of
hours worked in a day.
If a contractor does not work on a subsequent business day (a sit day), the total of the CurrentSitDayCount
field on the Contractor object is increased by one. The CurrentSitDayCount total is reset to zero the next
time the ConsecutiveDayCount total is increased.
The date the scheduled task is run is saved in the CutoffDate field on the Contractor object.
In the default configuration, this task does not run on a pre-defined schedule. Administrative users can run it
on demand, from Ariba Administrator.
RetryFailedCollaborationLaunch
RetryFailedCollaborationLaunch = {
EscalatePeriod = 2;
EscalateWarningPeriod = 0;
ScheduledTaskClassName = "ariba.approvable.server.EscalateApprovables";
Condition = "Approvable.StatusString = 'CollaborationFailed'";
};
The RetryFailedCollaborationLaunch scheduled task (display name “Restart the Collaboration Process”) is
an error-recovery task that scans the Ariba Buyer database for collaboration requisitions whose status is
CollaborationFailed, and attempts to restart the collaboration process for those requisitions.
When a collaboration line item is added to a requisition, a collaboration request is created for each invited
supplier for that item. The collaboration requests are then sent to the suppliers through Ariba Supplier
Network. If the collaboration process fails to start (for example, due to a configuration or customization
problem), an error message with contextual information is logged in the main Ariba Buyer log file and the
requisition is transitioned to CollaborationFailed.
In the default configuration, this task does not run on a schedule. An administrator should run this task
manually after correcting the problem in your configuration that caused the collaboration process to fail.
• EscalateWarningPeriod, which is the amount of time (in days) that a failed collaboration request can wait
before an attempt is made to restart the collaboration process. If the retry fails, an error message is logged;
an escalation notification is not sent. You can specify decimals to indicate partial days. For example, a
value of 1.5 days means every 36 hours.
EscalateWarningPeriod should typically be less than the EscalatePeriod (so that the warning arrives
before the escalation occurs). If the two are equal, there is no warning. If they are set up backwards (so
that the EscalateWarningPeriod is larger than the EscalatePeriod), the task does not run at all.
This task does not have dependencies on any other scheduled task and it does not send any notification
messages.
SendSurveyNotification
RecurrenceDays = 0;
ScheduledTaskClassName = "ariba.workforce.core.SendSurveyNotification";
Schedules = {
Schedule1 = {
DayOfWeek = Weekday;
Hour = 1;
Minute = 03;
};
};
};
The SendSurveyNotification scheduled task (display name “Send Contractor Survey Notification”) sends a
notification message to the hiring manager to complete a contractor survey for a labor item. The task
searches the Ariba Buyer database for labor items in which the contract end date has passed and a contractor
survey has not been submitted. If a survey has already been submitted for a labor item, a notification is not
sent.
This task also verifies whether the hiring manager has the CreateContractorSurvey permission needed to
create the survey. If the hiring manager does not have this permission, the task assigns it to him.
In the default configuration, this scheduled task automatically runs each weekday (at 1:03 AM).
StuckCollaborationRequests
StuckCollaborationRequests = {
MaxDaysAllowedInSendingStatus = 1;
MaxNumberOfCollaborationRequests = 100;
ScheduledTaskClassName = "ariba.collaboration.core.network.StuckCollaborationRequests";
};
The StuckCollaborationRequests scheduled task (display name “Send Stuck Collaboration Requests”)
resends collaboration requests that have become stuck in Sending status.
StuckTimeSheets
StuckTimeSheets = {
MaxNumberOfTimeSheets = 100;
MaxDaysAllowedInSendingStatus = 1;
RespectTimeSheetRoutingEnablement = true;
ScheduledTaskClassName = "ariba.workforce.network.StuckTimeSheets";
};
The StuckTimeSheets scheduled task (display name “Send Stuck Time and Expense Sheets”) resends time
sheets and expense sheets that have become stuck in Sending status.
3 Choose Server Manager > Category Definition and click Import to import each category definition file.
4 Validate and activate each imported category definition. For more information, see Chapter 4, “Category
Definitions.”
Just as each category type has its own set of fields and properties, the category definition file format is
unique to each category type. Therefore, if you are creating a category definition that uses the Market
Research category, you must create the spreadsheet in the correct format for Market Research. If you create
your own custom category type, you must ensure that the integration mappings file matches the columns set
up in the category definition file.
This rest of this section describes the worksheets in the sample category definition files.
Note: Some category definition files contain all of the worksheets, and some contain only some of the
worksheets. The actual worksheet names might not be the same as the worksheet names shown in this
section.
Column Description
Name The name of the category definition. The name cannot be longer than 50
characters.
Category Driver The unique internal identifier of the category driver for the category definition.
Item Category Drivers The unique internal identifier of the category driver for the category item.
Mapping Attributes List A comma-separated list of attribute names. Mappable attributes are fields that
cause other fields to change based on the value selected, such as changing
whether a supplier is approved or required based on the value the user selects in
the Region field.
Supplier Id Domain The domain portion of the supplier’s ID, for example, buysersytemid.
Supplier Id The value portion of the supplier’s ID, for example, sid512.
Category Managers List A comma-separated list of user names. The person importing the Excel category
definition file is automatically assigned as the category definition owner. The
category definition owner is not specified in the category definition file itself.
The category definition owner can then assign other users as category definition
owners through the user interface.
A category definition owner can edit, validate, activate, and delete the category
definition. Only users specified as a category definition owner or users who have
the EditCategory permission can perform these actions.
Column Description
Allow Contracted Suppliers Enter TRUE if you want any supplier with a contract for the item to be added to
the invited supplier list according to the ranking you specify in the Contracted
Supplier Ranking column.
Contracted Supplier Ranking If you entered TRUE in the Allow Contracted Suppliers column, enter a ranking
for contracted suppliers in this column. Valid values are:
• Approved - Allow contracted suppliers to be added to the list of available
suppliers.
• Preferred - Allow contracted suppliers to be selected.
• Required - Make contracted suppliers required on the requisition.
• Unapproved - Prevent contracted suppliers from being selected. Any
contracted supplier not already defined in the category definition is excluded
from collaboration.
Allow All Suppliers Enter TRUE if you want to let the requisitioner add any supplier to the invited
supplier list using the Add a new unranked supplier link in the user interface.
Suppliers Worksheet
The Suppliers worksheet defines the suppliers to use during collaboration on items in this category
definition. The columns on this worksheet correspond to the fields on the Suppliers worksheet when defining
a category in the Category Definition Manager. The Number column creates an internal ID to uniquely
identify each supplier in this worksheet.
Column Description
Category The name of the category definition.
Supplier Id Domain The domain portion of the supplier’s ID, for example, buysersytemid.
Supplier Id The value portion of the supplier’s ID, for example, sid512.
Column Description
Ranking The ranking for the supplier. Valid values are:
• Optional - Allow the supplier to be added to the list of available suppliers.
• Preferred - Allow the supplier to be selected.
• Required - Make the supplier required on the requisition.
• Excluded - Prevent the supplier from being selected. Any supplier not already defined
in the category definition is excluded from collaboration.
Contracted Items Only The value in this column specifies the contract requirements for the supplier.
• TRUE - Allow the supplier only for category items for which an item-level or
commodity-level contract is available. Supplier-level contracts are not included.
• FALSE - Allow the supplier for any category item on the requisition.
Column Description
Category The name of the category definition.
Number The internal ID that uniquely identifies the supplier in this workbook. The value must
match a value in the Number column on the Suppliers worksheet.
Attribute 1 The value that corresponds to the first mapping attribute specified on the Service Category
Header worksheet. If you mapped more than one attribute, add additional attribute columns,
such as Attribute 2, Attribute 3, and so on.
You must enter mappings for every possible value for each mapping attribute. Do not leave
any mapping attributes blank.
Column Description
Ranking The ranking for the supplier based on the value in the Attribute column. Valid values are:
• Optional - Allow the supplier to be added to the list of available suppliers.
• Preferred - Allow the supplier to be selected.
• Required - Make the supplier required on the requisition.
• Excluded - Prevent the supplier from being selected. Any supplier not already defined in
the category definition is excluded from collaboration.
Contracted Items Only The value in this column specifies the contract requirements for the supplier based on the
value in the Attribute column.
• TRUE - Allow the supplier only for category items for which an item-level or
commodity-level contract is available. Supplier-level contracts are not included.
• FALSE - Allow the supplier for any category item on the requisition.
For example, if you defined one mapping attribute, cus_Region, and you want to specify different rankings
for suppliers based on the region, you might have rows as follows:
If you defined two mapping attributes, cus_Region and cus_ExperienceLevel, you might have rows as
follows:
You must add a column for each mapping attribute specified on the Service Category Header worksheet and
enter mappings for every possible value for each mapping attribute. Otherwise, you will receive error
messages when you try to import the workbook.
Property names appear as columns on the Properties worksheet. The following worksheet describes the
columns that appear on the Properties worksheet for all the sample categories.
Column Description
Category The name of the category definition.
Category Driver The name of the category driver for the category item.
Mapping Attributes List A comma-separated list of attribute names. Mappable attributes are fields
that cause other fields to change based on the value selected, such as
changing whether a supplier is approved or required based on the value the
user selects in the Region field.
Supplier Part Number The ID used to identify the item in the catalog.
Supplier Auxiliary Id The auxiliary part number for the item in the catalog.
Commodity Code Domain The commodity code domain, for example, UNSPSC.
External For new catalog items, enter TRUE and specify the commodity code for the
item in the Commodity Code columns.
Enter FALSE to link the category item to an existing item in the catalog. The
values you enter in the Supplier columns are used to link the category item to
the existing catalog item.
In Template Only Reserved for future use. Leave this column blank or enter FALSE.
Column Description
Bidding Type The open bidding type. Open bidding helps buying organizations drive down
the purchase price in a collaboration by selectively exposing part of a
supplier’s collaboration information to its competitors. Bidding information
consists a set of fields of a bid that can be made visible to the supplier users.
Valid values (from least to most visible) are:
• Closed - None of the bidding information fields are visible
• Amount - The Lowest Amount and Price fields are visible
• Rank - The Lowest Amount, Price, Proposal Rank, and Supplier Rank
fields are visible
• Supplier - The Lowest Amount, Price, Lowest Supplier, Proposal Rank,
and Supplier Rank fields are visible
Note: A supplier can never see the name of another supplier who is the
lowest bidder.
Allow Partial Acceptance Enter TRUE if buyers can accept some items on a proposal and reject others.
Enter FALSE if a buyer must accept or reject an entire proposal.
Supplier Can Add Items Enter TRUE if suppliers can add line items to the proposal, which would then
be added to the requisition if the proposal is accepted. For example, in
addition to the line item for the contractor, the supplier could add a line item
for a special fee. The supplier can only add line items from the catalog in the
buyer’s configuration.
Submit Multiple Proposals Allowed Enter TRUE if suppliers can submit more than one proposal for the same
collaboration request. For example, a supplier with three good candidates for
a collaboration request could submit three proposals, one for each candidates
Milestone Itemization Required Specifies whether itemization is required for milestone line items on
non-collaborative requisitions. If set to Yes, the preparer of the requisition
must itemize the milestone. If set to No, the preparer can choose whether to
itemize.
Column Description
Item Type The possible valid values in the default configuration are:
• _FeeItem (fixed fee)
• _MiscExpenseItem (expense)
• _MilestoneItem (milestone)
• _CatalogItem (catalog item)
If you leave this field blank, the item type will be the default, such as a
service instead of a fee, expense, or milestone. If there are custom line types
in ProcureLineType.csv in your configuration, you can specify those as
well by entering their UniqueName value.
For the labor category driver and its subdriver for _CatalogItem only: If you
leave this property blank, the receiving type defaults to NoReceipt when you
import the category definition. (Ariba Administrator shows the Receiving
Type as Default.)
For other categories: In Ariba Administrator, when the item type is a Fee or
Expense and Receiving Type is set to Default, default means receiving by
Amount. When the item type is Catalog Item and Receiving Type is set to
Default, default means receiving by Quantity.
Because labor items use time sheets, Ariba Buyer sets the receiving type to
NoReceipt for labor items, regardless of the value specified in this column.
Milestone items do not generate receipts.
There might be additional columns on the Properties worksheet, depending on the properties defined for the
category definition.
Contractor Profile Required For PO Global Item Specifies whether a candidate must be identified
before the collaboration proposal can be submitted.
If you do not enable this property, the supplier
cannot add a candidate on the collaboration
proposal.
Overtime Exempt Global Item Specifies whether the candidate does not receive a
different rate for overtime hours and specifies all
hours worked under the Regular pay code. If set to
Yes, the candidate cannot specify overtime hours.
Consulting Category
Project Description Shared Global Item A description of the project.
Expected Deliverables Shared Global Item A description of what this project is expected to
produce.
Pricing Structure Shared Global Item Specifies whether the price is based on time and
materials, a fixed fee, or both.
Expected Deliverables Shared Global Item A description of what this project is expected to
produce.
Pricing Structure Shared Global Item Specifies whether the price is based on time and
materials, a fixed fee, or both.
Column Description
Labor Category
Pay Rate The rate for fees and expense items.
Pay Rate Currency The currency for the pay rate, for example, USD.
Pay Rate Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Rate Currency The currency for the rate, for example, USD.
Rate Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Bill Rate The rate that the staffing agency invoices, which is the pay rate plus the
markup
Bill Rate Currency The currency for the bill rate, for example, USD.
Bill Rate Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Markup Amount The difference between the pay rate and the bill rate in amount. The
markup typically includes payroll taxes and operational expenses.
Markup Amount Currency The currency for the markup amount, for example, USD.
Markup Amount Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Markup Percent The difference between the pay rate and the bill rate in percent. The
markup typically includes payroll taxes and operational expenses.
Column Description
Markup Percent Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Overtime Markup Amount The difference between the pay rate and the overtime bill rate in amount.
Overtime Markup Amount Currency The currency for the markup amount, for example, USD.
Overtime Markup Amount Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Overtime Markup Percent The difference between the pay rate and the overtime bill rate in percent.
Overtime Markup Percent Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Doubletime Markup Amount The difference between the pay rate and the doubletime bill rate in amount.
Doubletime Markup Amount The currency for the doubletime markup amount, for example, USD.
Currency
Doubletime Markup Amount The default-value qualifier used for recollaboration of a change order. Valid
Qualifier values are:
• NotToExceed
• Fixed
• Negotiable
Doubletime Markup Percent The difference between the pay rate and the doubletime bill rate in percent.
Doubletime Markup Percent The default-value qualifier used for recollaboration of a change order. Valid
Qualifier values are:
• NotToExceed
• Fixed
• Negotiable
Tripletime Markup Amount The difference between the pay rate and the triple time bill rate in amount.
Tripletime Markup Amount Currency The currency for the tripletime markup amount, for example, USD.
Column Description
Tripletime Markup Amount Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Tripletime Markup Percent The difference between the pay rate and the triple time bill rate in percent.
Tripletime Markup Percent Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Overtime Pay Multiplier The factor by which the bill rate is multiplied when the hours on the time
sheet are specified as overtime hours.
Doubletime Pay Multiplier The factor by which the bill rate is multiplied when the hours on the time
sheet are specified as doubletime hours.
Doubletime Pay Multiplier Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Tripletime Pay Multiplier The factor by which the bill rate is multiplied when the hours on the time
sheet are specified as triple time hours.
Tripletime Pay Multiplier Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Allow Temp To Perm Specifies whether to allow this contractor to become a permanent
employee.
Allow Time Sheet Violations Specifies whether to allow time sheets to be submitted if they have pay
code violations.
Allow Time Sheet Summary Hours Specifies whether time sheet entries can contain just the date and total
hours worked instead of requiring the date, start time, and stop time.
Expense Currency The currency for the expense amount, for example, USD.
Column Description
Expense Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Min Good Sit Days The minimum number of continuous business days this contractor must not
work (good sit period) in order to reset the maximum consecutive onsite
day count to zero. A sit day is a business day that a contractor does not
work (a non-business day that is not worked is ignored).
Max Consecutive On Site Days The maximum number of consecutive days this contractor can work onsite
before being required to sit (not work) for a minimum number of
continuous business days (good sit period). Consecutive onsite days
include both business days and non-business days on which a contractor
performs work.
Consulting Category
Rate The rate at which the buyer pays the supplier.
Rate Currency The currency for the rate, for example, USD.
Rate Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Rate Currency The currency for the rate, for example, USD.
Column Description
Rate Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Rate Currency The currency for the rate, for example, USD.
Rate Qualifier The default-value qualifier used for recollaboration of a change order. Valid
values are:
• NotToExceed
• Fixed
• Negotiable
Additionally, you can turn off the visibility and editability for all properties except for the following as
needed:
• Collaboration Type
• Rate
• Milestone data (if applicable)
Column Description
Category The name of the category definition.
ItemId The category item ID. Specify the name of a category driver to set default values for all
your items.
Attribute Name The name of an attribute. Attributes are defined in the category driver file.
Note that ordering attributes are different from mapping attributes. Ordering attributes are those fields that
require values before the user can submit the requisition. Mapping attributes are those fields that cause other
fields to change based on the value selected, such as changing whether a supplier is approved or required
based on the value the user selects in the Region field.
Important: Avoid using mixed case letters when defining attribute names and values. Ariba recommends
using all lowercase letters.
Column Description
Category The category definition name.
Property The field name of a property, for example, LineItem.Needby. Properties are
defined in the metadata XML file for the category. For more information, see
“Sample File Locations” on page 133.
Allow Viewing Enter TRUE if you want the property to be visible during requisition and
collaboration time.
Required Viewing Groups A comma-separated list of group unique names. These are the groups required to
view the property. If no group is specified, the visibility setting specified in the
Allow Viewing column applies to all users.
Allow Editing Enter TRUE if you want the property to be editable during requisition and
collaboration time.
Required Editing Groups A comma-separated list of group unique names. These are the groups required to
edit the property. If no group is specified, the editability setting specified in the
Allow Editing column applies to all users.
Column Description
Line The line number on the worksheet.
Attribute 1 The value that corresponds to the first mapping attribute specified on the Service Category
Header worksheet. If you mapped more than one attribute, add additional attribute columns,
such as Attribute 2, Attribute 3, and so on.
The additional columns on this worksheet vary based on the contractible properties defined for the category.
Following is an example of the Mapped Properties worksheet.
This chapter does not describe customizations that are standard for all approvable documents. For general
information on metadata XML customization, see the Ariba Spend Management Customization Guide.
Object Model
This section provides a brief overview of the main Ariba Services Procurement classes in the Ariba object
model. For complete information on the object model and explanations of the fields in each class, see the
Javadoc.
Conditions
Ariba Services Procurement includes the following types of conditions:
• Editability conditions, which determine whether a user can edit individual line items.
• Visibility conditions, which determine whether a field is visible in the user interface.
• Validity conditions, which determine if a field is valid.
For information on specifying conditions, passing parameters to conditions, and using conditions to specify
constraints on field properties, see the Ariba Spend Management Customization Guide.
Category Conditions
Categories use several conditions in ariba.procure.core.condition to create a link between the settings in
the Category Definition Manager and the behavior of the field in Ariba Buyer. For example, if you create a
new field and enable its visibility to be set in the Category Definition Manager, you must add the condition
CategoryPropertyVisibility to the field to allow that field to be controlled by the setting in the Category
Definition Manager. For more information, see “Controlling Visibility and Editability in the Category” on
page 99.
Following are the conditions that create a link between fields in Ariba Buyer and their visibility, editability,
and validity settings in the Category Definition Manager:
• AggregatedCategoryPropertyEditability—specifies whether a shared global item property value can be
changed and by whom.
Collaboration Conditions
Collaboration uses several conditions in ariba.collaboration.core.condition to determine the status of
collaboration for a particular requisition:
• CollaborationNotInProgress—verifies whether collaboration is not in progress for a given requisition.
• CollaborationPending—verifies whether collaboration is pending for a line item.
• HasCollaborated—verifies whether collaboration was completed for a line item.
• HasCollaborativeLineItems—verifies whether there are any line items on the requisition that require
collaboration.
• HasNoCollaborativeLineItems—the inverse of HasCollaborativeLineItems, verifies whether the
requisition has no line items that require collaboration.
• ProposalIsPartiallyAccepted—verifies whether the proposal allows partial acceptance.
• ShowCollaborationField—verifies whether to show a field that may still be undergoing collaboration.
Actions
An action is a class that performs a desired operation. Actions are bound to events with a metadata XML
construct called a trigger. A trigger runs a specified action when a specified event occurs.
For information on trigger syntax and how to use triggers in user interface customizations, see the Ariba
Spend Management Customization Guide.
You set the Allow Partial Acceptance property in the Category Definition Manager, and you can make it
editable so that the user creating the requisition can choose whether to allow partial acceptance. When
viewing the collaboration proposal details, the Summary tab displays a check box indicating whether partial
acceptance is allowed. In the default configuration, this box cannot be edited.
To override the default behavior of partial acceptance, you can customize the action class
SetupPartialAcceptancePolicy. This action sets the partial acceptance policy for the proposal.
Similarly, when a time sheet is not routed correctly to a supplier, the SendTimeSheetRoutingFailureEmail
action is triggered and sends an email notification to the preparer of the time sheet and to the user with the
TimeSheetManager permission.
Groups
This section lists several important metadata XML groups that you might use when customizing Ariba
Services Procurement. With groups used for display in any specific part of the screen, the easiest way to find
the group name is to enable the debugging tooltips for groups, as described in the Ariba Spend Management
Customization Guide.
Note that many of the groups for Ariba Services Procurement are also used in other contexts, but with a
different value source. For example, the LineItemDescription group is used for fields from requisition line
items, but it has different behavior when used for category line items.
For information on the groups used in the Category Definition Manager, see the Javadoc.
Display Groups
The following groups are used to display fields on the Line Item Details screen, at the line item level, and on
collaboration documents.
Group Description
LineItemDescription Specifies the fields that appear on the right-hand side of the
line item details page. For catalog items, the catalog
description appears here. For category items, this group is
re-used.
LineItemDetailsGeneral Specifies the ServiceLineItem fields that appear in the
General section of the line items details screen. The fields
from ReqLineItem, which are in the
LineItemGeneralFields group, display just below the
LineItemDetailsGeneral fields separated by a horizontal
line.
LineItemDetailsGeneral_Right Specifies the ServiceLineItem fields that appear in the
right column of the General section of the line items details
screen, just to the right of the LineItemDetailsGeneral
fields. This group is usually used for fields that apply to
collaboration.
LineItemGeneralFields Specifies the fields common to all categories, including the
fields from ReqLineItem, that appear in the General section
of the line item details screen. Note that fields in this group
must use a false visibility condition instead of the hidden
property to hide the field. Also note that when you specify a
field in this group, the definition you specify here overrides
the definition for this field in any other groups, so you must
re-specify all properties for this field in this group.
AggregatedCategoryItemsDetails Specifies the fields that appear in the requisition header.
With this group, you must specify a zone of left, right,
top, or bottom. (This group uses the
ARWTBLRColumnGroupView group view. For more
information on this group view, see the Ariba Spend
Management Customization Guide.)
CategoryLineItemDetailsForCandidate Specifies the fields that display candidate-specific values in
the line item details.
Group Description
LineItemSimpleGeneralFields Specifies the fields that appear in the item summary on the
requisition.
SupplierViewSupplierLevelGroup Specifies the top level (such as the supplier name) the buyer
sees when viewing the collaboration request details by
supplier.
SupplierViewLineItemLevelGroup Specifies the second level (such as the line item) the buyer
sees when viewing the collaboration request details by
supplier.
SupplierViewAuxLevelGroup Specifies the third level (such as the candidate) the buyer
sees when viewing the collaboration request details by
supplier.
LineItemViewLineItemLevelGroup Specifies the top level (such as the line item) the buyer sees
when viewing the collaboration request details by item.
LineItemViewSupplierLevelGroup Specifies the second level (such as the supplier) the buyer
sees when viewing the collaboration request details by item.
LineItemViewDetailLevelGroup Specifies the third level (such as the candidate) the buyer
sees when viewing the collaboration request details by item.
SupplierStatusViewSupplierLevelGroup Specifies the top level a supplier sees when viewing the
collaboration request status.
SupplierViewLineItemLevelGroup Specifies the second level a supplier sees when viewing the
collaboration request status.
SupplierViewAuxLevelGroup Specifies the third level a supplier sees when viewing the
collaboration request status.
SupplierStatusViewSupplierDetails_Left Specify the information that appears on the left and right
under the first level when the supplier views the
SupplierStatusViewSupplierDetails_Right collaboration request status.
SupplierStatusViewLineItemDetails_Left Specific the information that appears on the left and right
under the second level when the supplier views the
SupplierStatusViewLineItemDetails_Right collaboration request status.
Behavior Groups
The following groups are used to control the behavior of fields.
Group Description
CategoryDefinitionPermissionProperties Specifies the SharedGlobalItemProperties fields whose
visibility and editability can be set in the category definition.
LineItemDetailsMetaProperties Specifies the CategoryLineItemDetails fields whose visibility
and editability can be set in the category definition.
CategoryDefinitionEditItemProperties Specifies the GlobalItemProperties and ContractibleProperties
fields whose visibility, editability, and policy values can be set
in the category definition.
CollaborationMergeFields Specifies the fields that are merged from the accepted
collaboration proposal(s) onto the requisition.
Group Description
CandidateOverAcceptance Specifies whether to issue a warning or an error when multiple
candidates or proposals are accepted.
CategoryHeaderPrint Specifies the shared global item properties from the category
that are included when printing.
CategoryLineItemDetailsPrint Specifies the fields from the category line item details that are
included when printing.
CollaborationDetailsPrint Specifies the fields from collaboration that are included when
printing.
ContractProperties Specifies the fields that can be controlled by a contract (also
called contractible properties) and appear in contract screens.
The engine that creates the contractor from the information in the line item is the class that implements the
interface ariba.workforce.core.ContractorCreationProcessor. The default implementation of this class is
AribaContractorCreationProcessor. You can customize this class by deriving a new class from it, or by
creating a new implementation of ContractorCreationProcessor.
ContractorCreationProcess Class
The ContractorCreationProcessor class includes the following methods:
Method Description
findContractorForLineItem Looks for an existing contractor with the same contractor ID and name as
on the labor line item. If a matching Contractor is found, it returns that
object.
findUserForContractor Looks for an existing shared user to assign to the Contractor object. If a
matching shared user is found, it returns that User object.
createContractorForLineItem Creates a Contractor object using the contractor information (if available)
from the labor line item.
createUserForContractor Creates a User object for the specified Contractor using the contractor
information (if available) from the labor line item. The password adapter
for the user is specified by the Application.Workforce parameter
DefaultContractorUserPasswordAdapter.
For complete information on the ContractorCreationProcessor class and its methods, see the Javadoc.
Processing Contractors
You can specify whether to process contractors and users immediately after a purchase order has been sent
or to wait until a scheduled task runs. You set this preference with the
Application.Workforce.UseBatchContractorCreation parameter. If set to true, the scheduled task
ProcessContractorCreation batch-processes the contractors. If set to false, the purchase order workflow
engine calls ContractorUtil.postOrderingProcessContractor to process the contractors immediately after
the purchase order is sent.
Contractor Engine
The logic for matching candidates to contractors in the system and the logic related to contractor time
tracking is defined in the ariba.workforce.core.ContractorEngine interface.
Method Description
computeConsecutiveOnSiteDays Calculates and saves the values for consecutive onsite days and current sit days
for contractors, and the cut off date for when these calculations were last made.
For more information, see “Managing Contractor Time Tracking” on page 165.
findContractorMatchingCandidate Matches a proposed candidate with a contractor by looking for an existing
Contractor object in the system with the same contractor ID and name as on
the ContractorCandidate object. For more information, see “Matching a
Candidate to a Contractor” on page 165.
forecastConsecutiveDayCount Calculates and saves a forecast of the expected number of consecutive onsite
days for the candidate. The forecast includes the number of work days for the
proposed labor line item and the number of days the candidate has previously
worked (all previous labor orders the candidate worked on are used in the
calculation). For more information, see “Managing Contractor Time Tracking”
on page 165.
In the default implementation (AribaContractorEngine class), the logic looks for a match by comparing the
name and partialGlobalID of a candidate (ContractorCandidate object) with a contractor (Contractor
object).
The match is stored in the MatchedContractor field on the ContractorCandidate object. The profile
information of the matched contractor (for example, whether the contractor has been designated as do not
hire) is then used to evaluate the candidate.
The logic for matching a candidate to a contractor can be changed by providing a customized
implementation of the findContractorMatchingCandidate ( ) method.
In the default implementation (AribaContractorEngine class), the logic searches time sheets (TimeSheetItem
objects) for payable time entries in the PayCode field. For each day a contractor works — whether on a
business day or a non-business day, and regardless of the number of hours in a day — the
ConsecutiveDayCount field on the Contractor object is increased by one. For each business day a contractor
does not work, the CurrentSitDayCount field on the Contractor object is increased by one. A non-business
day that is not worked does not count as a sit day.
In the default implementation, Monday through Friday are configured as business days. Business days are
configured using the following parameters:
• Application.Workforce.EndDayForWorkWeek
• Application.Workforce.StartDayForWorkWeek
The algorithm that forecasts the expected number of consecutive onsite days for a candidate is defined in the
forecastConsecutiveDayCount() method in the ContractorEngine interface.
The forecast includes the number of business days for the proposed labor line item (taken from the labor
order) for the candidate (it is assumed the candidate will work each of the proposed business days), and the
number of days the candidate has previously worked (taken from time sheets). Time sheets from all labor
orders associated with the candidate are used in the calculation. If the candidate meets the good sit period
(the minimum number of continuous sit days as set in the Application.Workforce.MinGoodSitDays
parameter), the previously worked days are not counted in the consecutive onsite days forecast.
The forecast calculation considers the delay between when a time sheet is submitted and when it is
approved. In the default implementation, the delay period is set to 15 days. Time sheets submitted prior to
the delay period must be approved in order for the data to be included in the calculation of the consecutive
onsite days forecast. Time sheets submitted during this delay period, even if not approved, are used in the
calculation. The algorithm checks the StartDate and EndDate fields on the TimeSheetItem object to determine
whether the time sheet must be approved or not to be used in the calculation. The delay period is configured
using the Application.Workforce.UnapprovedTimeSheetForecastDays parameter in config/Parameters.table,
The forecast period is from the date the last calculation of consecutive onsite and current sit days was made
(the cutoff date) to the last day of the proposed labor line item.
The LaborComplianceEngineImpl class makes use of a default labor configuration file (and its extension file)
and a supporting DTD. When you define a custom labor compliance engine, it still uses the default labor
configuration file and extension to define billable and non-billable pay codes per labor territory or
sublocation.
To override any of the definitions in the default labor configuration file, modify the extension file
config/LaborComplianceExt.lcf. Typically, you modify this file annually to define this year’s holidays for
each territory or sublocation. If you do not need the compliance checks for the locations already specified in
this file (for example, if you do not have any offices in Mexico or Japan), you can remove those sections and
do not need to update them annually.
You can also add custom compliance checks to this file, such as specifying additional checks for the existing
territories and sublocations, or specifying the valid billable and non-billable pay codes for new locations. For
example:
<laborComplianceCheck
name="CA daily OT threshold 1"
period="daily"
payCode="Overtime"
orComplianceName="Federal Labor Standards Act weekly OT rate"
maxHoursPerPeriod="4"
overtimeHoursThreshold="8"
reason="@ariba.laborCompliance/CA_Overtime"
rateMultiplier="1.5"/>
The overtimeHoursThreshold attribute determines how many hours must be worked under the Regular pay
code before overtime applies. The maxHoursPerPeriod check specifies the maximum number of hours that
can be used with the pay code specified by the payCode attribute. The period attribute specifies whether this
check applies to a specific day of the week (such as dayOfWeek="1"), to any day of the week
(period="daily"), or to the whole week (period="weekly"). The rateMultiplier attribute is just a comment
that you can use as a reminder of what the overtime rate is.
If a time entry matches an overtimeHoursThreshold check for a specific day of the week, only checks for that
day and for the week are done. Otherwise, the daily and weekly checks (if any) are done. If any of the
overtimeHoursThreshold checks are valid, the overtime code is valid for that time entry. Conversely, all of the
MaxHoursPerPeriod checks must be valid for a time entry to be valid.
For situations where it is necessary to meet only one compliance check out of many (equivalent to using an
OR condition), use the orComplianceName attribute. As each check is made, if the current check fails (for
example, maxHoursPerPeriod) but the orComplianceName check is valid, then the current check is considered
valid. orComplianceName must not reference the same value as the current check (a circular reference). The
reference must be one way or a chain.
Warning: Do not modify this file in the ariba directory — make all modifications in the copy of the file in the
config directory. For more information about the attributes in this file, see
ariba\workforce\core\LaborCompliance.dtd.
A C
AcceptProposalConfirmation group 101 CandidateOverAcceptance group 161
AcceptProposalConfirmation_WithAcceptedFlag group CatalogManager permission 108
101 categories
access permissions classes for 154
DashboardAuthorized 109 classes for contracts 155
Internal 110 editability control 99
actions category conditions 156
defined 158 category drivers
failure notification 158 classes for 155
partial acceptance 158 customizing 155
time sheet processing 158 Category Manager role 112
AggregatedCategoryItemsDetails group 159 CategoryAutoSelectMAHook class 155
AggregatedCategoryPropertyEditability condition 156 CategoryCatalogItem class 154
AggregatedCategoryPropertyVisibility condition 157 CategoryDefinition class 154
AllowTimeSheetViolations parameter CategoryDefinitionCanChangeType condition 157
labor law compliance and 79 CategoryDefinitionCoreApprovable class 154
paycode compliance and 79 CategoryDefinitionPermission Properties group 160
Analyst role 112 categoryDefinitionPropertyAccess log category 92
ApprovableTypePull integration event 22 categoryDefinitionPropertyCompliance log category 93
approval rules categoryDefinitionPropertyUpdate log category 93
collaborative 62 CategoryDefinitionRequest class 154
time sheets and 86 CategoryHeaderExtrinsics group 103, 161
Ariba Buyer invoice names 85 CategoryHeaderPrint group 161
Ariba Services Procurement CategoryItem class 154
conditions 156 CategoryItemProperties class 154
installing 17 CategoryLineItemDetails class 155
AribaContractorCreationProcessor 163 CategoryLineItemDetailsFor Candidate group 159
AribaContractorCreationProcessor class 70, 163 CategoryLineItemDetailsPrint group 161
AribaContractorEngine class 70, 164 categoryProcurement log category 92
ASCCCommodityCodeParentPull integration event 20 CategoryPropertiesMeta class 154
ASCCCommodityCodePull integration event 20 CategoryPropertyBucketClasses group 161
ASCCToUNSPSCClassificationCodeMapPull CategoryPropertyCompliance condition 157
integration event 20 CategoryPropertyEditability condition 157
attachments, adding 98 CategoryPropertyVisibility condition 157
authorization permissions catgegories, visibility control 99
CreateContractorExpenseSheet 108 CheckOverAcceptance group 101
CreateRequisition 109 classes
CreateTimeSheet 109 Ariba Services Procurement 153
DashboardAuthorized 109 categories 154
EditCategory 109 categories related to contracts 155
auto-calculation collaboration 155
custom fields and 98 contractors 153
default category drivers 155
time sheets 153, 154
B ClassificationCodeDomainMetaPull integration event 21
behavior groups 160 co-employment risk
BiddingTypePull 21 calculations 74
consecutive onsite days 70, 74, 147 contractor creation engine 163
current sit period 74 Contractor Password Adapter parameter 74
forecasting onsite days 70 ContractorCandidate class 153
good sit period 70, 74, 147 ContractorCreationEngine parameter 70
scheduled tasks 74 ContractorCreationProcessor class 163
collaboration 55 ContractorCreationProcessor parameter 163
approval rules 62 ContractorEngine class 164
controlling 62 ContractorEngine parameter 70, 166
customizing classes 155 ContractorExpenseTypePull integration event 20
collaboration conditions 157 ContractorPerformanceTenPointValuePull 21
collaboration log category 93 ContractorPerformanceThreePointValuePull 21
Collaboration Message Sent notification 120 contractors 67
collaboration notification messages classes for 153
Collaboration Message Sent 120 customizing 153
Collaboration Proposal Submitted 119 onboarding 67
Collaboration Proposal Withdrawn 119 paycodes and 78
Collaboration Request Declined 118 ContractorSurveyManager permission 108
Collaboration Request Routing Failure 118 ContractProperties group 161
Collaboration Proposal Submitted notification 119 ContractProperties_FeeItem group 161
Collaboration Proposal Withdrawn notification 119 ContractProperties_MilestoneItem group 161
Collaboration Request Declined notification 118 ContractProperties_MiscExpenseItem group 161
Collaboration Request Routing Failure notification 118 contracts
collaboration requests 55 classes for categories related to 155
collaboration team CounterProposal class 156
customizing 102 createContractorForLineItem method 163
defining 102 CreateContractorSurvey permission 109
CollaborationDetailsPrint group 161 CreateInvoicesForTimeSheets scheduled task 82, 83, 86,
CollaborationDocument class 155 125
CollaborationLineItem class 155 CreateRequisition permission 109
CollaborationLineItemDetails class 156 CreateTimeSheet permission 108, 109
CollaborationMergeFields group 160 createUserForContractor method 163
CollaborationNotInProgress condition 157 creating
CollaborationPending condition 157 field tips 102
CollaborationReasonPull integration event 22 invoices for time sheets 77, 88
CollaborationRequest class 156 time sheets 87
CollaborationRequestState class 156 CSV files, modifying 19
CollaborationState class 155 customizations
collaborationTeam rule 62 adding file attachment fields 98
CollaborationThread class 156 auto-calculating fields 98
CollaborationThreadDocument class 156 creating field tips 102
CollaborationThreadState class 156 defining collaboration team 102
CollaborationTypePull integration event 20 editability of fields 99
collaborative requisitions orders 103
scheduled tasks 61 visibility of fields 99
Commodity Manager role. See Category Manager role customizing
CommodityExportMapPull integration event 22 labor configuration file 103
computeConsecutiveOnSiteDays method 164 orders 103
ComputeConsecutiveOnSiteDays scheduled task 74, over-acceptance 101
124 supplier filtering 101
conditions CustomRankedSupplier field 101
categories 156 CXMLProcessUndeliveredPayloads scheduled task 61,
category 156 126
collaboration 157 time sheets and 86
configuration
time sheets 78
ContractCategoryFactory class 155 D
ContractCategoryUtil class 155 DashboardAuthorized permission 109
Contractor class 153 DefaultContractorUserPasswordAdapter parameter 69,
UnapprovedTimeSheetRoutingDeferDays parameter 80
UseBatchContractorCreation parameter 69, 164
User Profile Request document 67
user-entered values, preserving 97
V
validation of fields, enforcing 100
validity conditions 156
ValueQualifier class 155
ValueQualifierPull integration event 21
ViewContractorSurvey permission 111
visibility
conditions 156
controlling 99
W
workforce log category 93
WorkforceManager permission 111