Customer Agreements are Order Management/Advanced Pricing entities that allow you to record special pricing, discounts and other terms that you have set up with your customers. In Release 11 and earlier, the Oracle Order Entry product contained a feature called ‘Agreements’ whose main use was to serve as a defaulting source for various order attributes. Order Management and Advanced Pricing have significantly enhanced the scope of customer agreements. This paper shows you all the features of the new improved Customer Agreements, and how they can help you manage your relationships with your customers.
2. Customer Agreements in Oracle Order Management Page 1
Customer Agreements in Oracle Order Management
EXECUTIVE OVERVIEW
Customer Agreements are Order Management/Advanced Pricing entities that
allow you to record special pricing, discounts and other terms that you have set up
with your customers. In Release 11 and earlier, the Oracle Order Entry product
contained a feature called ‘Agreements’ whose main use was to serve as a
defaulting source for various order attributes. In Release 11i Order Management
and Advanced Pricing have significantly enhanced the scope of customer
agreements. This paper shows you all the features of the new improved Customer
Agreements, and how they can help you manage your relationships with your
customers.
INTRODUCTION
Users familiar with Order Entry’s Agreements will be pleasantly surprised by the
wealth of new features contained in the new Customer Agreements. All the
functionality that was present in Release 11 has been retained, but much more has
been added. The R11i Order Management User’s Guide gives a good explanation
of the setup forms and fields, but doesn’t completely explain how you would use
agreements within the Order Management environment .
This paper attempts to explain all the key functional points regarding Agreements
included in Order Management and Advanced Pricing, and offer some insight into
putting them to use.
BUSINESS NEEDS
Oracle Order Management and Advanced Pricing provide you with the features
you need to meet and exceed your requirements around customer agreements.
With release 11i, you can:
• Record customer agreements.
• Classify agreements into different types for easy reporting, and control
agreement availability by order type.
• Assign various terms to the agreements, including freight terms, freight carrier,
payment terms, salespersons, invoicing rules and accounting rules.
• Use agreements as a source for defaulting information on sales orders.
3. Customer Agreements in Oracle Order Management Page 2
• Make revisions to the original terms of the agreement, and maintain those
changes and their reasons using separate revision numbers.
• Attach an already existing standard or agreement price list to the agreement or
define new prices that can only be used via this or other agreements. Define
the items in an agreement price list using customer part numbers as well as
inventory item numbers. Attach optional price breaks by quantity.
• Set effectivity dates for agreement terms.
• Assign agreements to customer commitments.
MAJOR FEATURES
To satisfy the above business needs, Oracle Order Management and Advanced
Pricing have delivered Customer Agreement functionality with the following set of
features:
Agreement Types and Agreements
You can create Agreements and classify them by Agreement Types.
Agreement Types can be used to limit which agreements can be entered on
particular order types.
Agreements can be defined to be generic agreements, which means they can be
used by any customer, or customer family agreements, which means they can be
used by the customer you enter on the Agreement form and all of their related
customers.
Agreements and Agreement Types are set up using forms from Oracle Advanced
Pricing. These forms are generally accessible via the Order Management menus.
See the section on Set Up below for more details about how to set up Agreements
and Agreement Types.
Price Lists and Agreements
There are two ‘flavors’ of Agreements, differentiated by the type of Price List
associated with them. They are Standard Agreements and Pricing Agreements.
You indicate which type of Agreement you are creating by choosing a Price List
Type on the Pricing tab of the Pricing Agreements setup form. Once you have
saved an agreement, you cannot change it from one type to another, although you
can change the price list associated with it.
Standard Agreements are agreements with basically the same functionality as was
in R11 Order Entry. These types of Agreements are associated with standard price
lists, and those price list lines are viewed and maintained using the regular Price
List Line setup User Interface. You would use Standard Agreements when you
4. Customer Agreements in Oracle Order Management Page 3
want the agreement to bring in special terms and conditions, but use prices that
can be available to other orders.
Pricing Agreements are agreements that are associated with Agreement Price Lists.
Agreement Price Lists can only be entered, viewed and maintained using the
Pricing Agreements form. Agreement Price Lists can be shared among Pricing
Agreements, but cannot be used by orders not associated with a Pricing
Agreement. Oracle Advance Pricing automatically creates a qualifier for the
Agreement Price List of the Agreement Number, so that it cannot be used by non-
agreement order lines. You would use Pricing Agreements when you had special
pricing that you wanted to be used only with an agreement, and not be available
for other types of orders. You can enter Agreement Price List lines by specifying a
customer item number, as well as an inventory item identifier, if you wish to price
this way. If you make a change to prices on an Agreement Price List (which you
have to do using the Agreement form), then those changes affect all Pricing
Agreements that use that Agreement Price List (since the Agreement Price List can
be shared among multiple Pricing Agreements).
Track Revisions to Agreements
You now have the ability to create different revisions (versions) of Agreements.
There is a revision number on the Agreement header, and when a significant
change occurs to an agreement, you can end-date the previous revision and create
a new revision. This is all controlled manually – you decide when a change
warrants a new revision. You can optionally record a reason for the revision when
you create it. Revision Reason is a Pricing Lookup code. There can only be one
revision of an Agreement active at any one time. For Pricing Agreements (which
are the agreements that use Agreement Price Lists), you can also create revision
numbers and enter revision reasons at the price list line level.
Use Agreements on Orders
When you enter or import an order for a customer, you can reference an
agreement at the header level or at the line level. An agreement at the header only
serves as a defaulting source for the agreement at the line level. You can reference
different agreements for different lines on the order, if you need to. You can
choose generic agreements or agreements that have been set up for the customer
on the order or its related customers. The agreement at the line can serve as a
defaulting source for various other agreement data, such as freight terms, payment
terms, invoicing and accounting rules, etc. depending on how you have set up your
defaulting rules.
SET UP
Define Agreement Types
You define Agreement Types by using the Lookups menu item under the Pricing
sub-menu. Once the Oracle Pricing Lookups form opens, find the
5. Customer Agreements in Oracle Order Management Page 4
QP_Agreement_Types Lookup Type using the flashlight icon, and then enter
whatever Agreement Types you want to define.
Define Agreements
You define Agreements by choosing the Pricing Agreements menu item under the
Pricing sub-menu. The Oracle Order Management User’s Guide gives thorough
information about the form and all the fields on the form, so that information will
not be duplicated here. Information about which fields are optional, and what
those fields do, is not to be found in the User’s Guide, so it is presented here.
Customer is an optional field on the Agreement. If you enter a customer, then
this agreement is valid only for that customer and its related customers. If you do
not enter a customer, then any customer can use the agreement. If you don’t enter
a customer, then fields such as Contact, Invoice-to location and Invoice Contact
cannot be entered, and you cannot enter agreement lines using a customer item
number.
Fields such as Purchase Order, Salesperson, Freight Carrier, Freight Terms,
Invoicing Rule and Accounting Rule are not required, but if entered, can serve as
defaulting sources for the order lines that use this agreement.
Agreement Type is not required, but it should be used if you want to restrict
order types to certain agreement types, or if you want to do reporting by
agreement type. See below discussion on Order Transaction Types.
Price List Type is how you say whether you are creating a Standard Agreement or
a Pricing Agreement. Price List Type is required and cannot be changed once the
agreement header has been saved.
Price List is where you pick an existing price list to be referenced by this
agreement, or, if you are creating a Pricing Agreement, you can create a new price
list here and give it a name. The LOV for Price List is restricted by the Price List
Type you entered. It isn’t obvious that you can create a new Agreement Price List
here, but this is where you do it!
Currency is a required field on the agreement header, and there can only be one
currency per agreement. If you have agreements that can be used in other
currencies, you need to create different agreements. The currency defaults from
the price list you select, or you set it here if you are creating a new Agreement
Price List.
Accounting and Invoicing Rule Override Flags – check either or both of these
checkboxes if you want the Invoicing Activity to use the accounting and/or
invoicing rule from the order line (which may have been changed by defaulting or
by the user). If the boxes are unchecked, the Invoicing Activity will get the rule or
rules from the Agreement, even if they have been changed on the order line.
Define Order Transaction Types
6. Customer Agreements in Oracle Order Management Page 5
When you define your order types in Order Management using the Transaction
Types form, there are two Agreement-related controls you can choose.
There is a checkbox called ‘Agreement Required’ – as you might suspect, if you
check this box, an agreement is required to be entered on orders of this order type.
The presence of an agreement at the Order Header is validated at the time of
Booking.
There is also a place on the Transaction Types form in the Document block of the
Main tab where you can select an Agreement Type. If you select an Agreement
Type here, users will be limited to entering agreements of this type on orders of
this order type. This is handy if you need to segment your orders and agreements
by line of business, and you want users of one order type to only have visibility to a
certain subset of agreements. If you do not need to restrict agreement access
during order entry, leave this field blank when you define the order type. Then
Order Management will let you choose from any agreement type when entering
orders for this order type.
Defaulting Rules and Processing Constraints
Order Management comes seeded with defaulting rules that default Agreement at
the order line from Agreement at the order header. In addition, various line level
attributes such as accounting rule, invoicing rule, price list, freight and payment
terms have seeded defaulting rules whose first source sequence is the
corresponding attribute on the Agreement. This means that typically, without your
having to do anything special, non-null agreement attributes will default into order
lines that use those agreements. In addition to this, there is a defaulting
dependency defined between these fields and the agreement, which means that if
you change the agreement at the line, all those dependent fields will be cleared and
re-defaulted. See the Oracle White Paper on ‘Using Defaulting Rules in Order
Management’ for more information about how to create Defaulting Rules and how
dependencies work.
If you use agreements, and you want to prevent a user from overriding any of the
terms or the price list that came from the agreement, then you’ll want to set up
some Processing Constraints that prevent users from modifying those attributes.
For example, you might set up an agreement with special payment terms. You
could define a Validation Template for Processing Constraints that says something
like ‘agreement exists on line’, and then define a constraint that says a user cannot
change the payment terms on the line if the condition ‘agreement exists’ is true. Be
sure to allow the system to make changes, in case the agreement is changed so that
defaulting can re-default. See the Oracle White Paper on ‘Using Processing
Constraints in Order Management’ for more information about how to create
Processing Constraints and Validation Templates.
ENTERING ORDERS USING AGREEMENTS
7. Customer Agreements in Oracle Order Management Page 6
Sales Order UI
Note that in the Sales Order User Interface, agreement is a ‘hidden field’ on the
order header default folder for the ‘other’ tab. If you intend to use agreements
heavily, you might want to ‘show’ this field using folder tools. Agreement at the
line level is a visible field in the default lines folder, pricing tab.
Sales Order Entry
Entering orders against your agreements is easy and straightforward. Enable the
Agreement attribute at the Order Header, if you intend to use the same agreement
for all order lines. Then use the LOV on this column to select the agreement.
Order Management will list in the LOV all generic agreements and the customer
family agreements that are defined for the customer you’ve entered on the Order
Header. The Defaulting Rules that have been seeded will carry the agreement
name down to each line, and will also copy agreement terms to the corresponding
line attributes.
REPORTS
As of this writing, there is no Advanced Pricing or Order Management report
specifically for Agreements or Agreement Activity.
Several Order Management reports print the agreement if it is present on an order.
These reports include the Sales Order Acknowledgment, the Order Discount
Summary, the Comprehensive Order Detail Report and the Salesperson Order
Summary Report.
The Order Discount Summary and the Salesperson Order Summary Report allow
you to select orders to print based on the Agreement on the Header.
USING AGREEMENTS WITH COMMITMENTS
Commitments are Receivables transactions that record prepayments for a
customer. When you create a commitment in Receivables, you can reference an
Agreement. You would do this if, for example, the prepayment was only for
certain items for which you have a firm pricing agreement with the customer.
There is a column on the order line to reference a commitment when you want to
indicate that a line is to be paid by drawing down the commitment. Commitment
is a hidden field in the pricing tab of the line default folder of the Sales Order
form.
When you enter an order in Order Management, if there is an agreement on the
line, then the LOV for the Commitment field will be restricted to those
commitments that reference that agreement and that have a balance greater than
zero. If the line does not reference an agreement, then the Commitment LOV will
show all commitments for this customer and its related customers, regardless of
whether the commitment reference an agreement.
8. Customer Agreements in Oracle Order Management Page 7
Both the agreement and the commitment are passed to Receivables during Invoice
Interface.
EXAMPLE
All right now, let’s see how you can use Agreements in real life. Let’s look at an
example of using a Standard Agreement (R11 type) and then one using a Pricing
Agreement.
Here’s the first business requirement:
You have millions of lines in your ‘corporate’ price list, and you use that price list for
all your customers. You enter into an Agreement with one customer, Customer A, to
give them a particular discount and special payment terms and freight terms when they
order from you during a certain period of time and ask for a particular ‘agreement
code’.
Here’s how you’d do this:
1. Create an agreement (Agreement A) and specify Customer A as the Customer
on the agreement header. Choose an agreement type if you want to report by
agreement type. Enter effectivity dates for the agreement, which will limit the
time when the agreement can be used. Go to the Pricing tab and choose
‘Standard Price List’ for the Price List Type, and then choose ‘Corporate’ as
the Price List to use. Select the freight terms you want to give with this
agreement. On the Payment tab, enter the Payment Terms you want to give.
Leave all other fields null.
2. Create a pricing modifier for the discount that you want to give with this
agreement. Set it up to apply automatically. Create a qualifier of Agreement A
for this modifier.
3. Modify the default folder for the Sales Order form, header ‘other’ tab to show
the Agreement field.
4. Enter orders for this Customer, and select Agreement A as the agreement to
apply for orders when the customer asks for that agreement code. The seeded
defaulting rules will cause the freight terms and payment terms from
Agreement A to default to the order. As you enter lines, the discount created
in step 2 will get automatically applied to the prices.
Here’s the second example:
You enter into an Agreement with one customer, Customer B, to give them a particular
pricing on a small group of items, as well as special payment terms and freight terms
when they order from you during a certain period of time and ask for a particular
‘agreement code’. These prices are not available to other customers.
Here’s how you could do this:
9. Customer Agreements in Oracle Order Management Page 8
1. Create an agreement (Agreement B) and specify Customer B as the Customer
on the agreement header. Choose an agreement type if you want to report by
agreement type. Enter effectivity dates for the agreement, which will limit the
time when the agreement can be used. Go to the Pricing tab and choose
‘Agreement Price List’ for the Price List Type, and then type in a new price list
name as the Price List to use. Select the freight terms you want to give with
this agreement. On the Payment tab, enter the Payment Terms you want to
give. Leave all other header fields null.
2. Go to the lower section of the Agreement form and enter price list lines for
the items you are pricing using this agreement. You can enter price breaks for
the items, if that is part of the pricing you want to give for this agreement.
3. Modify the default folder for the Sales Order form, header ‘other’ tab to show
the Agreement field.
4. Enter orders for this Customer, and select Agreement B as the agreement to
apply for orders when the customer asks for that agreement code. The seeded
defaulting rules will cause the freight terms and payment terms as well as the
new agreement price list from Agreement B to default to the order. As you
enter lines, the pricing created in step 2 will get automatically applied to the
lines.
MIGRATION/UPGRADE
Agreements from R11 and earlier are being upgraded to Standard Agreements, as
defined above.
CONCLUSION
Oracle Order Management and Advanced Pricing give you powerful new features
to allow you to manage the Pricing Agreements you set up with your customers.
You can continue to use Agreements as they existed in R11 by defining Standard
Agreements, or you can take advantage of a tighter control over items and pricing
by using Pricing Agreement functionality.