Ariba Payment Implementation Guide 9r2
Ariba Payment Implementation Guide 9r2
Implementation Guide
Release: 9r2
Document Version: 1
Release Date: June 2014
Copyright © 1996–2014 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.
Chapter 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
About Ariba Payment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Payment Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Completed Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Payment Requests for Credit Memos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Approvable Documents for Payment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
How to Use This Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Payment Models and Payment Send. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Payment Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Bank Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Payment Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Local and AN Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Remittance Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Groups, Roles, and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Chapter 9 Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Ariba Administrator Workspaces and Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Log Message Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Common Administration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Adding or Modifying Payment Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Adding or Modifying Payment Methods for Supplier Locations . . . . . . . . . . . . . . . . . . . 63
Modifying Payment Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Adding or Modifying Remittance Locations for Supplier Locations . . . . . . . . . . . . . . . . 64
Adding or Modifying Payment Models for Suppliers . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Adding or Modifying Payment Models for Supplier Locations . . . . . . . . . . . . . . . . . . . . 65
Adding or Modifying Bank Payment Locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
This section introduces the business processes of payment and describes how Ariba Payment automates
those processes. It does not describe basic user interaction. For information working with Ariba Payment
from a user’s perspective, see the Ariba Invoice and Payment User Guide.
Payment Process
In a paper-based process, settlement consists of writing checks, sending those checks to suppliers, and then
waiting for the supplier to return confirmation that the payment was received. Ariba Payment automates the
manual process, helping to reduce paper handling and data entry, maximize supplier discounts, reduce
errors, and forecast expected payments more accurately.
Payment and settlement professionals who are responsible for the business processes of settlement, such as
payment scheduling and managing supplier relationships, use Ariba Payment. In the user interface, the
features for accessing settlement functionality are accessible only to authorized business process experts.
Other users have no visibility into electronic payment documents.
Payment managers have visibility into pending payments, and are able to see upcoming payments, review
scheduling, and sort or classify upcoming payments. These users have immediate access to payment
scheduling information, allowing more accurate payment forecasting and scheduling. Administrators
reviewing invoice reconciliations can navigate quickly to see the payment requests associated with any
invoice reconciliation.
Completed Payments
After a payment has been made, the details of the completed payment transaction are visible in the user
interface. Payment managers can access payment transactions to review details of payments, or to void
(cancel) a payment that has been made. Your company can also share payment details with suppliers
electronically, helping to reduce vendor inquiries and streamline relationships with your suppliers.
Ariba Payment creates credit payment requests to represent credit memos. These credit payment requests are
visible to your payment managers from the user interface, and used when scheduling payments and
determining appropriate payment amounts.
Each payment request document represents an expected payment. In the default configuration, no approvals
are required for payment requests. When a payment request is created, it enters the workflow, where the next
step depends on the payment model that is in effect. For example, if payment is to be made on an ERP
system, the payment request is sent immediately to that ERP system. However, if payment is to be made in
Ariba Payment, users can edit the payment request until it reaches its scheduled payment date.
When a payment is created, the organization creating the payment creates and returns remittance advice,
with details of the payments that have been made. For example, a remittance advice statement might list all
invoices included in a payment, including the payment method used, bank information, discount amount,
and amount paid.
When a payment is made in Ariba Payment, Ariba Payment creates payment transaction documents and
posts remittance advice to AN.
When a payment is made on an external system, such as an ERP system, Ariba Payment pulls remittance
advice from the external system, uses the remittance advice to create payment transaction documents, and
then posts the remittance advice to AN.
For example, suppose that payment request PAY12 is sent to an ERP system. The ERP system creates a
payment that includes PAY12, and then posts remittance advice, that lists PAY12, to Ariba Payment. Ariba
Payment then creates a payment transaction document reflecting the payment that has been made.
This section describes where to find information on each of these major components.
Payment Methods
To set up your configuration for electronic payment, you define the set of payment methods you support,
using the PaymentMethodTypePull integration event. The payment method types you define with this
integration event are the payment method types available to users in the chooser in the user interface.
Bank Information
Bank account information defines basic parameters for identifying a bank account to be used for electronic
funds transfer. You define bank information by running integration events.
Payment Terms
Payment terms specify the time period in which a supplier requests payment and any discounts that supplier
chooses to make available for early payment. You define a set of supported payment terms with an
integration event, and then use the supplier pull integration events to associate one of those existing payment
term definitions with each supplier (or supplier location).
Remittance Advice
Remittance advice is an electronic document that provides details about a payment that has been made, such
as the payment method used, the invoices covered, and the amount of the payment. You can configure your
system to pull remittance advice from AN or from an ERP system, or load remittance advice from CSV files.
You do not have to use the sample groups and roles, but you must make sure that at least one user has each of
the required administrative permissions.
Reference Information
When setting up Ariba Payment, 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.
The installation process copies all required files and sets appropriate default values for parameters and
configuration settings. However, to fully enable Ariba Payment in your configuration, you must supply data
files with your own data and run all required integration events and scheduled tasks.
Site Profile
After installing Ariba Payment, make sure Ariba Settlement is selected in the site profile.
3 Click OK to save your changes, or click Cancel to return to the previous page without saving your changes.
Approval Rules
The default approval rules for Ariba Payment are loaded during installation:
• JavaScript Payment Rule (JavaScriptPayment.rul)
• JavaScript Payment Transaction Rules (JavaScriptPaymentTransaction.rul)
These rule sets do not require any approvals. For information on customizing approval rules, see the Ariba
Spend Management Approval Rules Guide.
Payment Functionality on AN
If you plan to use the AN payment model to create payments on AN, you must make sure that the
functionality is correctly enabled on AN. For you and your suppliers to exchange payments through AN, the
following must be specified on AN:
• Your company’s profile must have payment and settlement functionality enabled.
• Suppliers who want to participate in electronic payment must be enabled for payment on AN, and must
configure their payment preferences on AN, including preferred payment methods, bank account
information, and contact information.
For more information on how to configure AN to support payment and settlement functionality, see the
Ariba Network Account Management Guide.
If you are installing Ariba Payment as a new installation, you can do either of the following:
• Enable Ariba Payment 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 Payment as a new installation, the default groups, roles, and permissions for Ariba
Payment 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.
For more information on these integration events, see the Ariba Spend Management Data Load Guide.
For descriptions of the Ariba Payment groups, roles, and permissions, see Appendix A, “Groups, Roles,
and Permissions.”
2 In partition None, run the following integration events, in this order:
If you have a multilingual configuration, run the associated language integration events to load
translations:
Where to Find
Integration Event Name Display Name Information
PaymentMethodTypeLanguagePull Import Payment Method Type Translations Page 28
3 In each partition where you are enabling Ariba Payment, run the following integration events, in this
order:
Where to Find
Integration Event Name Display Name Information
PaymentTermsPull Import Payment Terms Page 39
If you have a multilingual configuration, run the PaymentTermsLanguagePull integration event (display
name “Import Payment Term Translations”) to load translations for payment terms.
4 In partition None, run the following scheduled tasks, in this order, to pull supplier profile information
from AN:
For information on these scheduled tasks, see the Ariba Buyer Configuration Guide.
This task applies only to payment requests that currently have the status of Processing, and that were created
before you enabled Ariba Payment.
Each payment request document represents an expected payment. In the default configuration, no approvals
are required for payment requests. When a payment request is created, it enters the workflow, where the next
step depends on the payment model that is in effect. For example, if payment is to be made on an ERP
system, the payment request is sent immediately to that ERP system. However, if payment is to be made in
Ariba Payment, users can edit the payment request until it reaches its scheduled payment date.
When a payment is created, the organization creating the payment creates and returns remittance advice,
with details of the payments that have been made. For example, a remittance advice statement might list all
invoices included in a payment, including the payment method used, bank information, discount amount,
and amount paid.
When a payment is made in Ariba Payment, Ariba Payment creates payment transaction documents and
posts remittance advice to AN. When a payment is made on an external system, such as an ERP system,
Ariba Payment pulls remittance advice from the external system, uses the remittance advice to create
payment transaction documents, and then posts the remittance advice to AN.
For example, suppose that payment request PAY12 is sent to an ERP system. The ERP system creates a
payment that includes PAY12, and then posts remittance advice, that lists PAY12, to Ariba Payment. Ariba
Payment then creates a payment transaction document reflecting the payment that has been made.
For information on payment workflow and how users work with payments, see the Ariba Invoice and
Payment User Guide.
For each partition in your configuration, you use the Application.Settlement.PaymentModel parameter to
specify whether that partition uses AribaPay or ExternalPay.
AribaPay
If you handle payment within Ariba Settlement, either as direct payments or by sending payment requests to
AN, choose AribaPay. When you specify AribaPay, Ariba Payment further determines whether to send the
payment request to AN, or handle it directly within Ariba Payment:
• AN—Ariba Payment sends a payment request to AN, which creates the payment. AN payment is the
preferred payment model for suppliers who are enabled for electronic payment.
• Local—Ariba Payment creates the payment with a technique of your choice. such as cutting a physical
check or pushing data to a database table. Ariba Payment handles traditional payment functionality such
as payment scheduling, discount selection, and payment disbursement.
Ariba Payment sends the payment to AN if the following conditions are met:
• The selected remittance location matches a remittance location in the supplier’s payment profile, as
synced from AN. For information on supplier profile sync, see “Supplier Sync From AN” on page 33.
• The selected payment method is supported by the remittance location and by the payment provider on
AN.
If AN payment is available, the payment request scheduling screen shows AN and Local as options. The user
can choose Local from the menu to override the choice of AN. However, if AN payment is not available, Local
is the only choice available.
AN Configuration
If you plan to send payment requests to AN, you must make sure that the functionality is correctly enabled
on AN. For you and your suppliers to exchange payments through AN, the following must be specified on
AN:
• Your company’s profile must have payment and settlement functionality enabled.
• Suppliers who want to participate in electronic payment must be enabled for payment on AN, and must
configure their payment preferences on AN, including preferred payment methods, bank account
information, and contact information.
For more information on how to configure AN to support payment and settlement functionality, see the
Ariba Network Account Management Guide.
• Invoices that use AN payment are not exported to the “OK-to-Pay” file. Without this information, your
ERP system does not have visibility to these invoices. For more information, see “Payment Request
Export Events” on page 26.
• Remittance information is not sent back to your ERP system for payments made in AN. Without this
information, your ERP system does not have visibility to these payments.
ExternalPay
If you handle payments on any other external system, choose the ExternalPay payment model. When the
payment model is ExternalPay, payment is made on an external system, such as an ERP system. Ariba
Payment pulls back payment details with integration events. This model is appropriate for configurations
that are already using an ERP system for electronic payment.
If you do not associate a payment model with a supplier location, the supplier location uses the payment
model associated with the supplier. If you do not associate a payment model with a supplier, the supplier
uses the payment model configured for the partition.
For information on supplier integration events, see the Ariba Buyer Data Load Guide.
Use the Application.Settlement.PaymentModel parameter to specify the preferred payment model for a
partition. Valid values are AribaPay or ExternalPay.
For SAP, Oracle, and PeopleSoft partitions in the default configuration, this parameter is set to ExternalPay.
For CSV partitions, it is set to AribaPay. There is no default value.
When you specify AribaPay, Ariba Payment further determines whether to send the payment request to AN,
or handle it directly within Ariba Payment (local payment). The
Application.Settlement.LocalPaymentModelSupported parameter specifies whether the local payment model
is supported. In the default configuration, this parameter is set to true. There is no default value.
Different payment models require different combinations of send methods. To define your send methods,
you use the following parameters:
• System.Settlement.PaymentRequestSendMethods, which specifies all the payment request send methods
available in your configuration for sending payment requests to external systems.
• Application.Settlement.PaymentRequestSendMethods, which specifies the payment request send methods
for a partition.
To send remittance advice to AN, Ariba Payment uses a send method defined in the following parameters:
• System.Settlement.PaymentTransactionSendMethods, which specifies all the send methods available in
your configuration for sending payment transactions to external systems.
• Application.Settlement.PaymentTransactionSendMethods, which specifies the payment transaction send
methods for a partition.
This method would not otherwise be used, because payment transactions are not sent to external systems.
For more information on sending remittance advice to AN, see “Remittance Post” on page 51.
System = {
Settlement = {
PaymentRequestSendMethods = {
AribaNetwork = {
ACSNSendMethod = true;
ContactName = "UserSender";
ERPSendMethod = false;
Formatter = "ariba.payment.DummyPaymentFormatter”;
PaymentMethod = "ariba.payment.AribaNetworkPaymentRequestMethod"";
Sender = "ariba.payment.cxml.AribaNetworkCXMLPaymentProposalSender";
UsesAsynchronousPush = "false";
UsesDirectIntegration = "false";
};
};
};
};
System = {
Settlement = {
PaymentTransactionSendMethods = {
AribaNetwork = {
ACSNSendMethod = true;
ContactName = "UserSender";
ERPSendMethod = false;
Formatter = ariba.payment.DummyPaymentTransactionFormatter;
PaymentMethod = “ariba.payment.AribaNetworkPaymentTransactionMethod";
Sender = "ariba.payment.cxml.AribaNetworkCXMLPaymentRemittanceSender";
};
Silent = {
ContactName = "UserSender";
ACSNSendMethod = false;
ERPSendMethod = false;
PaymentMethod = ariba.payment.DummyPaymentTransactionMethod;
Formatter = ariba.payment.DummyPaymentTransactionFormatter;
Sender = ariba.payment.AribaPaymentTransactionSilentSender;
};
};
};
};
The definition of each send method includes the following set of parameters, which define the Java classes
making up the send method.
Parameter Description
ACSNSendMethod A Boolean value that indicates whether the method involves a transmission to AN.
ERPSendMethod A Boolean value that indicates whether the method sends to an ERP system.
Formatter Names the Java class used to format the information for transmission. The role of a
formatter is to manipulate the data to fit it to the schema of the ERP system.
PaymentMethod Names the Java class that implements the logic of which payment requests or
transactions are sent.
Sender Names the Java class used to perform the actual transmission.
Parameter Description
UsesAsynchronousPush (Payment request send methods only) A Boolean value that indicates whether the
transmission is asynchronous or synchronous. When there is a status pull after the push,
the transmission is asynchronous and this parameter should be set to true. Otherwise, it
should be set to false.
UsesDirectIntegration (Payment request send methods only) A Boolean value that indicates whether the
recipient uses direct integration. The Ariba Web Services Channel uses direct
integration. The Ariba File Channel uses indirect integration. In direct integration, data is
pushed and the response is received immediately.
Application = {...
Settlement = {
PaymentRequestSendMethods="AribaNetwork";
Application = {...
Settlement = {
PaymentTransactionSendMethods="AribaNetwork";
AribaPay Configuration
This section describes configuration settings for AribaPay. These settings are appropriate for payments
either directly within Ariba Payment or on AN.
To configure AribaPay:
1 Set Application.Settlement.PaymentModel to AribaPay:
2 In System.Settlement.PaymentRequestSendMethods, define two methods: one that does nothing, and one
that sends to AN. Typical entries are:
System = {
Settlement = {
PaymentRequestSendMethods = {
Silent = {
ACSNSendMethod = false;
ContactName = "PaymentTransaction.SupplierRemitToAddress.Name";
ERPSendMethod = false;
PaymentMethod = “ariba.payment.DummyPaymentMethod"";
Formatter = "ariba.payment.DummyPaymentFormatter";
Sender = "ariba.payment.AribaPaymentSilentSender";
UsesAsynchronousPush = "false";
UsesDirectIntegration = "false";
};
AribaNetwork = {
ERPSendMethod = false;
ContactName = "UserSender";
ACSNSendMethod = true;
PaymentMethod = “ariba.payment.AribaNetworkPaymentRequestMethod";
Formatter = "ariba.payment.DummyPaymentFormatter";
Sender ="ariba.payment.cxml.AribaNetworkCXMLPaymentProposalSender";
UseAsynchronousPush = “false”;
UsesDirectIntegration = "false";
};
};
};
};
ExternalPay Configuration
This section describes configuration settings for ExternalPay. These settings are appropriate for partitions
that send payments to an ERP system.
To configure ExternalPay:
1 Set Application.Settlement.PaymentModel to ExternalPay:
Validation Customization
Before sending a payment request to AN, or scheduling it for payment, Ariba Payment validates the fields
that are in the PaymentRequestValidationGroup group. If any of the fields in this group are invalid (as defined
by the validity conditions specified on those fields in the metadata XML file), the payment request is not sent
to AN or scheduled with the ProcessPendingPaymentRequests scheduled task (display name “Process
Pending Payment Requests”).
If there are errors, Ariba Payment writes a log message to the log category payment/debug, indicating that the
request was not scheduled because it contained invalid fields. A payment administrator must modify the
request to fix the invalid fields before the payment can be successfully scheduled.
You can modify the fields that are validated by changing the fields defined in
PaymentRequestValidationGroup.
The following integration events load payment status data from Oracle, PeopleSoft, and SAP systems into
Ariba Payment:
• PaymentIDImport (display name “Import Payment ID”
• PaymentErrorImport (display name “Import Payment Error”)
For ERP integration details, see the Ariba Buyer ERP integration guide for your ERP system:
• Ariba Buyer Oracle Financials Integration Guide
• Ariba Buyer PeopleSoft Integration Guide
• Ariba Buyer SAP Integration Guide
These integration events export payment requests that use the External System payment model only.
For more information on these integration events, see the Ariba Buyer ERP integration guide for your ERP
system:
• Ariba Buyer PeopleSoft Integration Guide
• Ariba Buyer SAP Integration Guide
• Ariba Buyer Oracle Financials Integration Guide
When a payment request is created, Ariba Payment sets a default payment method. Users viewing payments
can see and possibly modify the payment method from the user interface.
PaymentMethodTypePull
To set up your configuration for electronic payment, you define the set of payment methods you support by
using the PaymentMethodTypePull integration event (display name “Import Payment Method Types”). The
payment method types you define with this integration event are the payment method types available to users
in the chooser in the user interface.
The default configuration supplies one implementation of this integration event, which uses the Ariba File
Channel and reads from the following CSV file:
config/variants/Plain/parititions/None/data/PaymentMethodType.csv
The default configuration defines no standard payment method types. You must define your preferred
payment methods by adding entries to the PaymentMethodType.csv file.
Cp1252
"UniqueName","Name","Description","Rank","Electronic","ClearancePeriod"
"check","Check","Payment by check","1","false","15"
"ach","ACH","Payment via ACH","2","true","3"
"wire","WIRE","Payment via wire","3","true","3"
"creditCard","Credit Card","Payment via credit card","4","true","5"
PaymentMethodTypeLanguagePull
In a multilingual configuration, you can use the PaymentMethodTypeLanguagePull integration event
(display name “Import Payment Method Type Translations”) to load translations for payment method names
and descriptions.
For information on how to pull data in multiple languages, see the Ariba Spend Management Data Load
Guide.
PaymentMethodTypeExport
You use the PaymentMethodTypeExport integration event (display name “Export Payment Method Types”)
to export payment methods from your configuration to a CSV file.
For some payment methods, such as ACH, your suppliers must edit their supplier preferences on AN to
indicate support for the given payment method. For information on how suppliers edit preferences on AN,
see the AN documentation.
This section describes the integration events that load bank identification information. For descriptions of
the columns in the CSV files read by these integration events, see the Data Dictionary.
BankAccountTypePull
You use the BankAccountTypePull integration event (display name “Import Bank Account Types”) to define
all supported types of bank accounts, such as checking accounts and savings accounts.
The default configuration supplies one implementation of the BankAccountTypePull integration event,
which reads from the following CSV file:
config/variants/Plain/partitions/None/data/BankAccountType.csv
The default configuration defines no standard bank account types. You define your preferred account types
by adding entries to BankAccountType.csv.
Cp1250
"UniqueName","Name","Description"
"checking","Checking Account","Checking Account"
"savings","Savings Account","Savings Account"
BankAccountTypeLanguagePull
In a multilingual configuration, you can use the BankAccountTypeLanguagePull integration event (display
name “Import Bank Account Type Translations”) to load translations for bank account type names and
descriptions.
For more information on how to pull data in multiple languages, see the Ariba Spend Management Data
Load Guide.
BankAccountTypeExport
You use the BankAccountTypeExport integration event (display name “Export Bank Account Types”) to
export bank account types from your configuration to a CSV file.
BankIDTypePull
You use the BankIDTypePull integration event (display name “Import Bank Identifier Types”) to define bank
ID types, such as Society for Worldwide Interbank Financial Telecommunication (S.W.I.F.T) and American
Bankers Association (ABA).
The default configuration supplies one implementation of the BankIDType integration event, which uses the
Ariba File Channel to read from the following CSV file:
config/variants/Plain/partitions/None/data/BankIDType.csv
The default configuration defines no standard bank ID types. You define your preferred bank ID types by
adding entries to BankIDType.csv.
Cp1252
"UniqueName","Name","Description"
"ABA","ABA Routing number","American Banking Association routing number"
"SWIFT","S.W.I.F.T","Society for Worldwide Interbank Financial Telecommunications s.c."
BankIDTypeLanguagePull
In a multilingual configuration, you can use the BankIDTypeLanguagePull integration event (display name
“Import Bank Identifier Type Translations”) to load translations for bank ID type names.
For more information on how to pull data in multiple languages, see the Ariba Spend Management Data
Load Guide.
BankIDTypeExport
You use the BankIDTypeExport integration event (display name “Export Bank Identifier Types”) to export
bank ID types from your configuration to a CSV file.
BankAccountIDTypePull
You use the BankAccountIDTypePull integration event (display name “Import Bank Account Number
Types”) to define bank account ID types, such as National or International Bank Account Number (IBAN).
The default configuration supplies one implementation of the BankAccountIDType integration event, which
uses the Ariba File Channel to read from the following CSV files:
ariba/variants/Plain/partitions/None/data/BankAccountIDType.csv
config/variants/Plain/parititions/None/data/BankAccountIDType.csv
Cp1252
"UniqueName","Name","Description"
"national","National","National"
"IBAN","IBAN","International Bank Account Number"
BankAccountIDTypeLanguagePull
In a multilingual configuration, you can use the BankAccountIDTypeLanguagePull integration event
(display name “Import Bank Account Number Type Translations”) to load translations for bank account ID
type names.
For more information on how to pull data in multiple languages, see the Ariba Spend Management Data
Load Guide.
BankAccountIDTypeExport
You use the BankAccountIDTypeExport integration event (display name “Export Bank Account Types”) to
export bank account ID types from your configuration to a CSV file.
After the initial value is chosen, a payment manager who is editing the payment request document can make
changes by selecting a different account from the chooser.
For descriptions of the columns in the CSV files read by these integration events, see the Data Dictionary.
SupplierPaymentBankLocationPull
You use the SupplierPaymentBankLocation integration event (display name “Import Supplier Bank Payment
Locations”) to define the details of supplier bank accounts. The default configuration supplies one
implementation of the SupplierPaymentBankLocationPull event, which uses the Ariba File Channel and
reads from the following CSV file:
config/variants/variant/partitions/partition/data/SupplierPaymentBankLocation.csv
Cp1252
"UniqueName","SupplierUniqueName","Name","BankName","BankIDType","BankID","BankAccountIDType","Ba
nkAccountID","BankAccountType",AddressUniqueName,Street,City,State,PostalCode,CountryUniqueName
"SupplierBankLocation-1",11,"JCN West Coast Payments Check Processing Center","Wells Fargo
Bank","abaRoutingNumber","123456788","bankAccountID","123-a","checking","BL-1","123 Easy St","San
Francisco","CA","92302","US"
SupplierPaymentBankLocationExport
You use the SupplierPaymentBankLocationExport integration event (display name “Export Supplier Bank
Payment Locations”) to export the details of supplier bank accounts from your configuration to a CSV file.
BuyerPaymentBankLocationPull
You use the BuyerPaymentBankLocationPull integration event (display name “Import Buyer Bank Payment
Locations”) to define the details of the buying company’s bank accounts. The default configuration supplies
one implementation of the BuyerPaymentBankLocationPull event, which uses the Ariba File Channel and
reads from the following file:
config/variants/variant/partitions/partition/data/BuyerPaymentBankLocation.csv
The fields are identical to those in SupplierPaymentBankLocation.csv, except that the SupplierUniqueName
field is not used.
BuyerPaymentBankLocationExport
You use the BuyerPaymentBankLocationExport integration event (display name “Export Buyer Bank
Payment Locations”) to export the details of buyer bank accounts from your configuration to a CSV file.
To obtain information about suppliers, including profile settings about the payment methods that each
supplier location supports, Ariba Payment downloads supplier profile information from AN. Suppliers
manage their own supplier profile information on AN and Ariba Payment pulls that updated information
with scheduled tasks.
The scheduled tasks for downloading supplier profile information are as follows:
• AribaNetworkOrganizationSync (display name “Synchronize ASN Supplier Profile Updates”), which
pulls current profile information for all suppliers in your configuration that have Ariba Network IDs or
D-U-N-S IDs.
• CommonSupplierSyncUsingSupplierLocationID (display name “Synchronize ASN Supplier Account ID
and Profile Information”), which is similar to AribaNetworkOrganizationSync, but designed for situations
where a supplier has different AN IDs for different supplier locations.
• GetPendingAribaNetworkOrganizationSync (display name “Synchronize ASN Supplier Profile
Updates”), which polls AN for changes made since the last sync (with either
AribaNetworkOrganizationSync or CommonSupplierSyncUsingSupplierLocationID), and downloads
those updates.
The supplier profile information pulled from AN does not include supplier bank information. For security
reasons, you must load your bank information from integration events, as described in “Integration Events
For Bank Account Information” on page 29.
For information on how to configure and use these scheduled tasks for downloading profile information
from AN, see the chapter about suppliers in the Ariba Buyer Data Load Guide.
When sending a payment to a given supplier location, Ariba Payment sends it to the remittance location
associated with that supplier location. Suppliers define remittance locations on AN, as part of their supplier
profile information, to indicate the address to which payment is sent.
To prevent suppliers from adding additional remittance addresses and receiving payments to those addresses
fraudulently, Ariba Payment defines a master list of valid remittance locations, and uses that list to verify the
remittance locations defined by the suppliers on AN.
The list loaded from Ariba Payment is considered the master list. In the user interface, the remittance
address chooser shows only the valid addresses pulled from the master list. Ariba Payment sends payment to
AN only if the remittance address selected from the chooser matches a remittance address read from AN.
The default configuration includes a trigger on the remittance location field that potentially updates the
remittance location field whenever the supplier location field changes. The trigger is defined as follows:
For descriptions of the columns in the CSV files read by these integration events, see the Data Dictionary.
RemittanceLocationPull
You use the RemittanceLocationPull integration event to define the valid list of remittance locations in your
configuration. This list is used to verify remittance addresses specified by suppliers in their AN profiles.
The RemittanceLocationPull integration event is a header-details event, in which the header file
(RemittanceLocation.csv) defines a list of remittance locations and the details file
(RemittanceLocationDetails.csv) provides details on each specific location.
The default configuration supplies one implementation of this event, which reads partitioned data.
The file RemittanceLocation.csv defines a list of remittance locations, each with a unique name. The default
configuration reads the header file from the following location:
config/variants/variant/partitions/partition/data/RemittanceLocation.csv
Cp1252
UniqueName,AddressUniqueName,Name,Lines,City,State,PostalCode,CountryUniqueName
RL1,RA1,"Austin","3450 Industrial Park Road","Austin","TX","78701","US"
RL2,RA2,"Sacramento","1400 Global Parkway","Sacramento","CA","95801","US"
RL3,RA3,"San Francisco Dist","3000 Airport Boulevard","San Francisco","CA","94128","US"
The file RemittanceLocationDetails.csv defines the details of a specific remittance location. The following
lines are from a typical RemittanceLocationDetails.csv file:
Cp1252
Parent.UniqueName,PaymentMethod,BankInfo,RemittancePCardNumber
RL1,check,SupplierBankLocation-1,
RL1,ach,SupplierBankLocation-2,
RL1,creditCard,SupplierBankLocation-2,"2222222222111111"
RL2,ach,SupplierBankLocation-3,
SupplierLocationRemittanceInformationPull
You use the SupplierLocationRemittanceInformationPull integration event to associate remittance locations
with supplier locations.
SLRemittanceInformation.csv
SLRemittanceInformationDetails.csv
The file SLRemittanceInformation.csv defines a list of remittance locations, each with a unique name. The
default configuration reads the header file from the following location:
config/variants/variant/partitions/partition/data/SLRemittanceInformation.csv
Cp1252
UniqueName,ContactID,ANPayEnabled
14,63,true
15,14,true
36,34,false
The details file SLRemittanceInformationDetails.csv defines the remittance address information for a
supplier location. The default configuration reads the details file from the following location:
config/variants/variant/partitions/partition/data/SLRemittanceInformationDetails.csv
Cp1252
Parent.UniqueName,Parent.ContactID,RemittanceLocation
14,63,RL1
14,63,RL2
Payment terms specify when a supplier must be paid for an invoice and define any discounts that are
available for early payment. For example, a supplier might offer a 5 percent discount if the invoice is paid in
15 days. Payment terms are typically standardized across your company under names such as Net 30 or Net
45.
The default configuration sets payment terms with triggers, setting some objects on creation and others in
response to related field change. For example, payment terms are set on contracts and purchase orders when
those objects are created, copying the initial payment terms from the supplier object.
After the payment terms have been set, they are updated with triggers if a related field changes in such a way
that the payment terms change. For example, if a payment manager changes the supplier field on an invoice,
a trigger is fired to determine if the payment terms need to be updated as well.
For information on how the payment terms field is used during the payment process, see “Local and AN
Payments” on page 43.
In the default configuration, the following integration events associate payment terms with suppliers and
supplier locations:
• The SupplierPull event associates payment terms with suppliers
• The SupplierLocationSupplementPull event associates payment terms with supplier locations
For information on supplier integration events, see the Ariba Buyer Data Load Guide.
For more information, see the integration guide for your ERP system:
• Ariba Buyer Oracle Financials Integration Guide
• Ariba Buyer PeopleSoft Integration Guide
• Ariba Buyer SAP Integration Guide.
Ariba Payment uses triggers to set and update the payment terms field as appropriate. For example, if a
payment manager editing an invoice reconciliation changes the supplier, a trigger updates the payment terms
field based on that change.
The default configuration provides sample logic for setting or updating payment terms. You can customize
your configuration by changing the logic of the trigger action. For more information on the triggers, see
“Triggers for Defaulting Payment Terms” on page 40.
When evaluating payment terms, you can configure which line item types are considered. In the default
configuration, only actual line items are considered, and not additional charges such as tax or freight fees.
For example, if the payment terms offer a discount based on when the net amount is paid, Ariba Payment
includes only standard line items when calculating the net amount. For more information on line item
categories, see “Line Types for Discounts” on page 46.
Note that AN invoices can be loaded into Ariba Buyer containing payment terms that do not match any
terms defined in Ariba Settlement. In this case, Ariba Buyer displays the payment terms on the invoice,
using the structure of the payment terms as the display name. For example, the payment terms 2/10, net 30
display as ((0%/30)(2%/10))*. An asterisk on the payment term field indicates a payment term not defined in
Ariba Settlement.
PaymentTermsPull
You define payment terms using the PaymentTermsPull integration event (display name “Import Payment
Terms”). The PaymentTermsPull integration event loads partitioned data.
The default configuration provides one implementation of the PaymentTermsPull integration event. This is a
header-details integration event, which reads data from the following CSV files:
config/variants/variant/partitions/partition/data/PaymentTerms.csv
config/variants/variant/partitions/partition/data/PaymentTermSteps.csv
config/variants/variant/partitions/partition/data/PaymentTermStepDetails.csv
The header file (PaymentTerms.csv) defines the set of payment terms you support, and the details files
(PaymentTermSteps.csv and PaymentTermStepDetails.csv) specify the details of each of those payment terms.
Cp1252
"UniqueName","Name","Description"
PT1,"Net 45, 2%/30, 3%/20","Net amount due in 45 days, 2% discount if paid in 30 days, 3% discount
if paid in 20 days"
PT2,"Net 30, 2%/20","Net amount due in 30 days, 2% discount if paid in 20 days"
PT3,"Net 30, 200/20","Net amount due in 30 days, $200 discount if paid in 20 days"
Cp1252
"Parent.UniqueName","InstallmentPercent","StepJoinToken"
PT1,1,PT1-1
PT2,1,PT2-1
PT3,1,PT3-1
Cp1252
"Parent.StepJoinToken","DiscountType","Discount","PayInDays"
PT1-1,"percent",0,45
PT1-1,"percent",2,30
PT1-1,"percent",3,20
PT2-1,"percent",0,30
PT2-1,"percent",2,20
PT3-1,"amount",0,30
PT3-1,"amount",200,20
CP1252
“UniqueName”,”Name”,”Description”
PT1,"Net 45, 2%/30, 3%/20","Net amount due in 45 days, 2% discount if paid in 30 days, 3% discount
if paid in 20 days"
PT2,"Net 30, 2%/20","Net amount due in 30 days, 2% discount if paid in 20 days"
PT3,"Net 30, 200/20","Net amount due in 30 days, $200 discount if paid in 20 days"
PaymentTermsExport
You can use the PaymentTermsExport integration event (display name “Export Payment Terms”) to export
payment terms from your configuration to CSV files.
PaymentTermsLanguagePull
In a multilingual configuration, you can use the PaymentTermsLanguagePull integration event (display
name “Import Payment Term Translations”) to load translations for payment term names and descriptions.
For information on how to pull information in multiple languages, see the Ariba Spend Management Data
Load Guide.
This section describes the triggers used in the default configuration. For information on how to substitute a
custom trigger action, see the Ariba Spend Management Customization Guide.
Note: If there are no payment terms set on a payment request, the payment is due immediately and no
discounts are available.
In the default configuration, these trigger events all use the action
ariba.procure.core.action.SetPaymentTerms. A sample trigger is as follows:
<trigger name="SetPaymentTermsOnSupplierChange"
event="FieldChange"
field="Supplier">
<action implementation="ariba.procure.core.action.SetPaymentTerms">
<parameter name="Target"
outputField="PaymentTerms"/>
<parameter name="Source"
inputField="Supplier"/>
</action>
</trigger>
The SetPaymentTerms action calls a Java class, called a payment terms defaulter, which implements the logic
of setting the payment terms. The next section describes how to configure and customize the payment terms
defaulter.
If you require additional logic or flexibility beyond what is available in the default configuration, you can
write a custom Java implementation, and supply the name of that implementation in
config/Parameters.table.
Parameter Application.Procure.PaymentTermsDefaulter
This section describes the default implementations. For information on how to implement a custom payment
terms defaulter, see the Javadoc.
AribaPaymentTermsDefaulter
The class ariba.payment.core.AribaPaymentTermsDefaulter is the default for most configurations. It looks
for payment terms by searching in the following order:
• Purchase order
• Contract (if the order is associated with a contract)
• Supplier location
• Supplier
• Default payment terms, as specified with the partition-specific parameter
Application.Procure.DefaultPaymentTerms. The value of this parameter must be the unique name of a
payment term defined in the partition, such as PT1.
Ariba Payment is configured so that the rules for setting payment terms match the logic for setting payment
terms on the ERP system, as closely as possible. The goal is for both systems to choose the same payment
terms. However, it is possible for the ERP system to choose different terms.
If you load an invoice that includes payment terms set by the ERP system, the invoice reconciliation process
validates the payment terms to make sure that they are the same. If the payment terms do not match, Ariba
Invoice generates the PaymentTermException during invoice reconciliation. For information on the invoice
reconciliation process, and how to reconcile exceptions, see the Ariba Invoice Implementation Guide.
By adjusting the sample payment terms defaulting logic in ERP system to more closely match the logic used
on your ERP system, you can often prevent such errors. For information about payment terms specific to
each ERP system, see the integration guide for your ERP system:
• Ariba Buyer Oracle Financials Integration Guide
• Ariba Buyer PeopleSoft Integration Guide
• Ariba Buyer SAP Integration Guide
With either AribaPay payment model, Ariba Payment provides basic payment handling functionality such as
payment scheduling and discount selection. With direct (Local) payment, Ariba Payment also handles
payment aggregation and disbursement.
Ariba Payment provides default Java classes for the following components:
• A payment scheduler, which sets payment terms and expected dates.
• A payment discount selector, which chooses any available discounts.
• A payment aggregator, which creates payment transaction documents, potentially aggregating several
related payment requests onto a single transaction.
• A payment disburser, which pushes approved payments. The default configuration pushes payments to a
database staging table, and then marks those payments as Paid.
This chapter describes how each of these steps is implemented in the default configuration and describes
how to replace or modify the default implementations with custom Java implementations.
These two classes are always called in succession, because the available discounts depend on the payment
schedule. For example, if a payment is scheduled to be made within 30 days, the payment discount selector
can determine what discounts are still available.
The payment scheduler and discount selector are called twice for each payment request: once when the
request is first created, and again when the original invoice reconciliation is fully approved. The payment
request is initially created at the same time that the invoice reconciliation is created, so that the approximate
payment information is available for payment forecasting even before the invoice reconciliation is approved.
These classes are called for both direct payments and AN payments.
Payment Scheduler
The payment scheduler reads a payment request object, checks the payment terms, and executes logic to
choose expected payment dates based on the data on the payment request.
The payment scheduler is a Java class. The default configuration supplies a standard implementation of the
payment scheduler, which implements basic payment scheduling. If you want to customize the scheduling
logic, you can replace the default implementation with a custom Java class.
For each payment term on a payment request, the default scheduler does the following:
1 Finds the date field specified by the PaymentTermsEffectiveDateField group. In the default configuration,
the date field is InvoiceReconciliation.ApprovedDate:
<group name="PaymentTermsEffectiveDateField">
<groupClass name="ariba.invoicing.core.InvoiceReconciliation">
<groupField name="ApprovedDate"/>
</groupClass>
</group>
Configuration of AribaPaymentScheduler
You can tailor the default configuration by changing the date field or by changing the number of days of
padding.
• To change the field, create a metadata XML extension file such as the following:
<inGroup name="PaymentTermsEffectiveDateField">
<inGroupClass name="ariba.invoicing.core.InvoiceReconciliation">
<remove>
<groupField name="ApprovedDate"/>
</remove>
<groupField name="SomeOtherDate"/>
</inGroupClass >
</inGroup >
This extension removes the field used in the default configuration and replaces it with a different field. For
example, you might calculate the effective date from the goods received date, the invoice created data, or
the invoice approved date.
If there is more than one field in this group, the one with the lowest Rank is used.
• To change the number of skip days (“padding”), set the
Application.Settlement.PaymentTermsEffectiveDateSkipDays parameter. In the default configuration,
this parameter is set to 0.
The payment discount selector determines what discounts apply and sets the discount field of the payment
schedule accordingly. For example, the payment discount selector can choose the payment schedule with the
maximum discount, or compare dates and payment schedules to choose the best discount available at the
specified time.
The payment discount selector is a Java class. The default configuration supplies a default discount selector
that provides several possible modes for choosing discounts. If you require more sophisticated discounting
logic, you can replace the default implementation with a custom Java class.
Default Implementation
The default implementation of the payment discount selector is
ariba.payment.AribaPaymentDiscountSelector. This class defines three modes for choosing a discount
schedule. You specify your preferred mode by setting the
Application.Settlement.PaymentDiscountSelectionPolicy parameter. The possible values for this
parameter are as follows:
• TakeDiscountNone, which selects the payment schedule corresponding to the net term, with no discounts
applied.
• TakeDiscountMaximum, which selects the payment schedule that offers the largest discount.
• TakeDiscountApplicable, which selects a payment schedule based on the transaction date, using the best
discount that is available for the given transaction date.
For more information on how to implement the PaymentDiscountSelector API, see the Javadoc.
For a complete list of the standard line type categories, see the Ariba Invoice Implementation Guide.
In the default configuration, only line items of category 1 are considered when calculating discounts and
evaluating payment terms. For example, if the payment terms offer a discount based on when the net amount
is paid, Ariba Payment uses only standard line items (and not tax charges, freight charges, or other line item
categories) to calculate the net amount.
PaymentTermsLineTypeCategories = ("1");
To add additional line item categories, add additional line item category numbers to the vector. For example:
Payment Aggregation
When the payment model is Local, Ariba Settlement handles payment aggregation, using the
PaymentAggregator scheduled task (display name “Payment Request Aggregator”). If the payment model is
AN, the payment request is sent to AN and any payment aggregation is handled by AN.
The PaymentAggregator scheduled task queries for all payment requests with the status of Scheduled, and
creates associated payment transactions for those requests.
In the default configuration, the payment aggregator groups together payment requests if they have the same
supplier location and the same payment method. You can configure that behavior by specifying different
fields to group or you can replace the payment aggregator altogether with a custom Java class of your own.
In the default configuration, the payment aggregator recognizes credit memos and aggregates them against
payments, as appropriate. The aggregator uses as much of the credit as possible, but never lets the net to go
below $0.
For example, if you have a payment request for -$100 and one for $40, the aggregator does the following:
• Creates a payment transaction for $0 that includes -$40 from the first payment request and $40 from the
second
• Creates a separate payment request for $-60 to reflect the balance
For more information on tax accrual documents, see the Ariba Invoice Implementation Guide.
PaymentAggregator = {
ScheduledTaskClassName = ariba.payment.AggregatePaymentsTask;
AggregationFieldsGroup = "PaymentAggregationGroup";
PaymentAggregatorClass = "ariba.payment.AribaPaymentAggregator";
Schedules = { ...};
};
The AggregationFieldsGroup parameter specifies the name of a group. The fields in that group determine
which requests can be aggregated. The default configuration uses the group PaymentAggregationGroup, which
includes the following fields:
<group name="PaymentAggregationGroup">
<groupClass name="ariba.payment.core.Payment">
<groupField name="RemittanceLocation">
<properties rank="100"/>
</groupField>
<groupField name="PaymentMethodType">
<properties rank="90"/>
</groupField>
</groupClass>
</group>
If all fields defined in the group have the same value, the payment requests are aggregated. When multiple
fields are specified, as in this example, the Rank property determines the order of aggregation.
You can add and remove fields from this group, or change the rank of existing fields to change the order in
which they are aggregated.
You supply the Java class that does payment aggregation with the PaymentAggregatorClass parameter to the
scheduled task. In the default configuration, this parameter is set as follows:
PaymentAggregator = {
ScheduledTaskClassName = ariba.payment.AggregatePaymentsTask;
AggregationFieldsGroup = "PaymentAggregationGroup";
PaymentAggregatorClass = "ariba.payment.AribaPaymentAggregator";
Schedules = { ...};
};
Payment Disbursement
When the payment model is Local, Ariba Settlement handles payment aggregation, using the
DisbursementCreator scheduled task. This task applies only with the Local payment model.
The DisbursementCreator scheduled task (display name “Payment Disbursement Creator”) processes
payment transaction documents and then writes the data in them to a database staging table,
DisbursementData, where it can be pushed to your G/L.
When the data is in the staging table, Ariba Payment does not process it further. You must implement the
payment yourself, using any technique appropriate for your configuration. For example, you could write the
data to a flat file, or send it to a check printer.
In the default configuration, the DisbursementCreator task does not run on a regular schedule. Because this
task can potentially affect your G/L, by pushing payments, it is typically best to have an administrative user
run the task manually. If you prefer to run it on a schedule, you must enter the schedule in the
ScheduledTasks.table file.
ProcessedID
PaidAmounts.NetAmount
PaidAmounts.GrossAmount
PaidAmounts.DiscountAmount
PaidAmounts.AdjustmentAmount
In the scheduled task configuration file, you can define additional optional fields to include in the data push.
The scheduled tasks takes two parameters: one that lists the data to be pushed and another that lists the
columns into which the data is to be stored. For example:
DisbursementCreator = {
ScheduledTaskClassName = ariba.payment.DisbursementCreator;
ColumnNames =
"PaymentTransactionId,PaymentDate,PaymentNumber,PaymentMethodType,SupplierName,SupplierBankName,S
upplierBankID,SupplierBankIDType,SupplierBankAccountID,SupplierBankAccountType,SupplierBankInfoSt
reetAddress,SupplierBankInfoAddressCity,SupplierBankInfoAddressState,SupplierBankInfoAddressCount
ry,SupplierRemitToStreetAddress,SupplierRemitToAddressCity,SupplierRemitToAddressState,SupplierRe
mitToAddressCountry";
Columns =
"UniqueName,PaymentDate,PaymentNumber,PaymentMethodType.UniqueName,SupplierLocation.Name,Supplier
BankInfo.BankName,SupplierBankInfo.BankID,SupplierBankInfo.BankIDType.UniqueName,SupplierBankInfo
.BankAccountID,SupplierBankInfo.BankAccountType.UniqueName,SupplierBankInfo.BankAddress.Lines,Sup
plierBankInfo.BankAddress.City,SupplierBankInfo.BankAddress.State,SupplierBankInfo.BankAddress.Co
untry.UniqueName,SupplierRemitToAddress.Lines,SupplierRemitToAddress.City,SupplierRemitToAddress.
State,SupplierRemitToAddress.Country.UniqueName";
}
The ColumnNames parameter specifies a list of column names in the database. (All columns are created as
VARCHAR.) The Columns parameter defines the fields of the payment transaction object that are used to
populate those columns. In both cases, the value is a comma-separated list of column names.
In the Columns parameter, each value is the name of a field on PaymentTransaction, defined with dot notation.
In the previous example, the first field is as follows:
ColumnNames="PaymentTransactionId"
Columns="UniqueName"
In this case, the value of the UniqueName is written to the database column PaymentTransactionId.
Note: If you edit the Columns parameter to change or remove any columns, you must ask your database
administrator to remove the database table DisbursementData manually. The next time the task runs, it
recreates the table with the correct columns.
Each time the task runs, it sets the ProcessedID field on the payment transaction, to indicate which payments
have been pushed. Subsequent runs of the scheduled task ignore any payment transaction that have already
been pushed.
ProcessingPaymentRequests
The ProcessPendingPaymentRequests scheduled task (display name “Process Pending Payment Requests”)
queries for all payment requests that have reached the scheduled payment date. The status of any request that
has passed its scheduled date is changed from Scheduling to Scheduled.
Before processing a payment request, the ProcessPendingPaymentRequests task validates all fields specified
in the group PaymentRequestValidationGroup. If any fields in this group are invalid, the payment request is
not scheduled. In this case, ProcessPendingPaymentRequests writes a log message to the log category
payment/debug, indicating that the request was not scheduled because it contained invalid fields. A payment
administrator must modify the request to fix the invalid fields before the payment can be successfully
scheduled.
ProcessPaidPaymentTransactions
The ProcessPaidPaymentTransactions scheduled task (display name “Process Paid Payment Transactions”)
moves payment requests from Paid to Cleared.
The payment’s status transitions from Paid to Cleared after a specified number of days. The number of days
to wait between Paid and Cleared depends on the payment method, and is specified in the
PaymentMethodPull integration event. For more information about PaymentMethodPull, see “Integration
Events for Payment Methods” on page 27.
In the default configuration, this task runs once a day. It takes no parameters and requires no configuration.
Remittance advice is created when the payment is made and provides detailed information about the
payments.
Remittance Pull
If payment was made in AN or on an ERP system, Ariba Payment loads remittance advice into Ariba
Payment and uses it to create payment transaction documents.
When remittance information is pulled from an ERP system, the remittance pull can create new documents
to reflect differences between the ERP payments and the payment requests in Ariba Payment. For example,
if the remittance advice indicates that the original invoice was underpaid, Ariba Payment creates a new
payment transaction or updates a payment request with a new transaction. Similarly, if the remittance advice
indicates that a payment was canceled on the ERP system, Ariba Payment creates a new payment request to
handle the canceled amount.
When new payment requests are created during remittance pull to handle partial payments or cancelled
payments, the new requests have the same name as the original parent request, with a suffix. For example, if
the original payment request is PAY123, a request created to track partial payment might be PAY123-1.
Remittance Post
When a payment is handled within Ariba Payment (direct payment), Ariba Payment sends (posts) the
remittance advice to AN.
To send remittance advice to AN, Ariba Payment uses a send method defined in
System.Settlement.PaymentTransactionSendMethods. In the default configuration, the remittance send
method uses ariba.payment.cxml.AribaNetworkCXMLPaymentRemittanceSender to send cXML documents
over the cXML channel. To be able to send remittance advice to AN, you must make sure that this send
method is correctly configured. For more information about send methods, see “AribaPay Configuration” on
page 22.
Note: If the supplier on a payment request does not contain credentials for AN, the remittance advice is not
sent to AN.
For SAP configurations that use the Ariba File Channel, you transfer remittance advice from your SAP
system into CSV files, and then run the RemittanceFileImport integration event (display name “Import
Remittance Transaction Data”) to import the CSV files into Ariba Payment.
For SAP configurations that use the Ariba Web Services Channel, the RemittanceImport integration event
pulls remittance data in Ariba Payment.
For more information, see the Ariba Buyer ERP integration guide for your ERP system:
• Ariba Buyer PeopleSoft Integration Guide
• Ariba Buyer SAP Integration Guide
• Ariba Buyer Oracle Financials Integration Guide
IncrementalRemittanceImport = {
ScheduledTaskClassName = "ariba.integration.core.IncrementalIntegrationEventTask";
DefaultStartDate = "20080901000000";
LoggingName = "IncrementalRemittanceImport";
Variant = @variant@;
Partition = @partition@;
Event = RemittanceImport;
};
CXMLPaymentRemittanceLoader = {
ScheduledTaskClassName = "ariba.payment.cxml.CXMLPaymentRemittanceLoader";
MaxMessages="10";
MaxRequests="1";
Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 4;};};
};
The MaxMessages and MaxRequests parameters are used for performance tuning:
• MaxMessages specifies the maximum number of cXML documents that can be retrieved during each get
pending transaction.
• MaxRequests specifies the maximum number of times to repeat the get pending transaction while tying to
empty the AN pending queue.
In the default configuration, the scheduled task entry for the CXMLPaymentRemittanceLoader is in the
global scheduled task configuration file, config/variants/Plain/partitions/None/ScheduledTasks.table. If
you want different parameters for different partitions, move the entry to partition-specific scheduled task
files.
To set up your configuration, you define the parameters for this scheduled task to specify where to find
remittance data files and what format to expect in the data files.
RemittanceCSVImportLoader ScheduledTask
The RemittanceCSVImportLoader scheduled task runs in a CSV partition. The following example shows a
typical configuration file entry for this task:
RemittanceCSVImportLoader = {
Adapter = RemittancePull;
FailedToProcessFolder = "transactionData/remittance/errors";
IncomingFolder = "transactionData/remittance/incoming";
ProcessedFolder = "transactionData/remittance/processed";
ScheduledTaskClassName = ariba.payment.RemittanceCSVImportLoader;
Schedules = { Schedule1 = { DayOfWeek = Weekday; Hour = 0;};};
};
The remittance loader looks in the specified IncomingFolder for incoming remittance data files. If there are
any new data files in that directory, the remittance loader calls the integration event specified in Adapter for
each new data file.
The RemittancePull integration event is a header-details event. It reads the list of payment documents from
the header file and the details about each payment from the details file. Following is the message
configuration entry for RemittancePull in the default configuration:
RemittancePull = {
ApplicationHints = {
Parameters = {
Feature = ( AribaP2PBasic, AribaP2PProfessional, AribaSettlement );
Visible = true;
};
};
Channel = {};
LoggingName = Remittance_CSV;
MessageParameters = {
Request = {
Parameters = {
Details = (
{
DetailFileName = "";
JoinFields = ( "LookupID = LookupID" );
ParentField = LineItems;
}
);
EventSource = "pcsv:Remittance.csv";
HeaderFileName = "";
Operation = Load;
};
SchemaName = ariba.integration.HeaderDetailSchema;
};
};
TopicName = RemittancePull;
};
The header file can have any name, but the details file must be of the form headernameDetails, such as
RemittanceDetails.csv. The header file and detail file are joined by the field LookupID. You can find sample
files with correctly formatted data in the following directory:
sample/invoicing/remittanceimport/Remittance.csv
Both files must reside in the directory specified by the IncomingFolder parameter in the
RemitanceCSVImportLoader scheduled task. In the default configuration, the directory is
transactionData/remittance/incoming.
Field Description
LookupID The ID used to look up the payment approvable document. The ID can be a
concatenation of several IDs to make it unique in the ERP system. This value
is used primarily to pull remittance information from the ERP system.
SupplierLocation The location of the supplier to whom the payment is made.
SupplierLocationContactID The contact ID of the supplier to whom the payment is made.
PaymentNumber The payment number. For example, this value would be a check number if the
payment method is check.
ExternalProcessedState The status of the payment transaction, as reported by the ERP system. The
valid values are:
Field Description
NetAmountDefaultCurrency The net amount default currency, for example, USD.
CreatedDate The date the payment transaction was created, for example, 1-1-2003.
CanceledDate The date the payment transaction was canceled, for example, 1-1-2003.
PaymentMethodType The payment method type used. The value must match a UniqueName
specified in the PaymentMethodType.csv file, such as check.
BuyerBankIDType The buyer’s bank ID type. The value must match a UniqueName specified in
the BankIDType.csv file, for example, ABA.
BuyerBankAccountIDType The buyer’s bank account ID type. The value must match a UniqueName
specified in the BankAccountIDType.csv file, such as national.
BuyerBankAccountType The buyer’s bank account type. The value match a UniqueName specified in
the BankAccountType.csv file, such as checking.
SupplierBankAddressName The name of the supplier’s bank.
SupplierBankAddressStreet The street address of the supplier’s bank.
SupplierBankIDType The supplier’s bank ID type. The value must match a UniqueName specified
in the BankIDType.csv file, such as ABA.
SupplierBankAccountIDType The supplier’s bank account ID type. The value must match a UniqueName
specified in the BankAccountIDType.csv file, such as national.
SupplierBankAccountType The supplier’s bank account type. The value must match a UniqueName
specified in the BankAccountType.csv file, such as checking.
"PMT-1001","36","34","CHK1234","0","USD","1000","USD","200","USD","100","USD","700","1-1-2003","1
-1-2003","","Check","Wells Fargo Bank","123 First St","San Francisco","CA","94353","US","Wells
Fargo Bank","123456789","ABA","12345","national","checking","Bank Of America","123 Second
St","Hollywood","CA","90210","US","Bank Of
America","987654321","ABA","54321","national","checking"
"PMT-1002","36","34","ACH1234","0","USD","2000","USD","400","USD","200","USD","1400","1-1-2003","
1-1-2003","","ACH","Wells Fargo Bank","123 First St","San Francisco","CA","94353","US","Wells
Fargo Bank","123456789","ABA","12345","national","checking","Bank Of America","123 Second
St","Hollywood","CA","90210","US","Bank Of
America","987654321","ABA","54321","national","checking"
Field Description
LookupID The ID used to look up the payment approvable document. The
ID can be a concatenation of several IDs to make it unique in
an ERP system. This value is used primarily to pull remittance
information from an ERP system.
PayableReferenceNumber The reference number for the invoice, for example, IR-1.
ExternalPayableReferenceNumber The invoice reference number from the ERP system, for
example, ERP-INV-1.
SupplierPayableReferenceNumber The invoice number known to the supplier, for example,
SUP-INV-1.
Field Description
NetAmountDefaultCurrency The net amount default currency, for example, USD.
"PMT-1001","1","1-1-2002","IR-1","1","ERP-INV-1","SUP-INV-1","PO-1","2","ERP-PO-1","USD","600","U
SD","100","USD","50","USD","450"
"PMT-1001","2","1-1-2002","IR-2","1","ERP-INV-2","SUP-INV-2","PO-2","2","ERP-PO-2","USD","400","U
SD","100","USD","50","USD","250"
"PMT-1002","1","1-1-2002","IR-3","1","ERP-INV-3","SUP-INV-3","PO-3","2","ERP-PO-3","USD","1600","
USD","100","USD","50","USD","1450"
"PMT-1002","2","1-1-2002","IR-4","1","ERP-INV-4","SUP-INV-4","PO-4","2","ERP-PO-4","USD","1400","
USD","100","USD","50","USD","1250"
IntegrationPostLoadPaymentTransaction Trigger
After Ariba Payment pulls remittance advice from an external system, it fires the trigger action
ariba.payment.core.IntegrationPostLoadPaymentTransaction. This trigger updates associated payment
transaction documents to reflect the information on the remittance advice. The trigger can potentially create
new payment request documents if there is a discrepancy between the remittance invoice and the original
payment request.
• If the remittance advice indicates partial payment, the trigger creates new payment request documents to
track the outstanding amount that is still to be paid.
• If the remittance advice indicates that the payment was approximately correct, or overpaid, the trigger
updates the payment transaction document to reflect the payment that was made.
• If the remittance advice indicates that the payment was canceled, the trigger updates the status in Ariba
Payment to indicate that the payment has been canceled, and creates a new payment request to reflect the
unpaid balance.
Currency Considerations
In typical business practices, the same currency is used for invoice and payment. For situations where the
currencies do differ, the IntegrationPostLoadPaymentTransaction trigger action uses a method called
processPaymentInDifferentCurrency to convert the amounts on the invoice reconciliation to the payment
currency before determining whether the invoice has been correctly paid.
The default implementation looks at the paidAmounts parameter (which contains the amounts on the invoice
reconciliation), converts them to the currency used on the payment, and then sets the amounts on the invoice
to the converted value.
If you require custom logic for this situation, you can create your own trigger action implementation that
subclasses IntegrationPostLoadPaymentTransaction and overrides the processPaymentInDifferentCurrency
method.
Category Description
aribanetwork Log messages for status updates sent to AN.
application.procurement.payment Debugging and diagnostic messages related to payment approvables.
application.paymentTerms Log messages specific to payment terms.
Field Description
Payment Method Name The unique internal identifier of the payment method. You cannot modify this field in
edit mode.
Clearance The number of days after which a payment made with this payment method is considered
cleared.
Payment Method Type The AN canonical payment method that corresponds to the payment method. Choose
other for third-party financing payment methods.
3 Click Save to save your changes, or Cancel to return to the previous page without saving your changes.
3 Click Add to add a payment method, or click Edit to modify a payment method. The Review Details for
Payment Method page appears.
4 Choose or modify the payment method.
5 Choose or modify the bank information. The bank information you choose must match the bank
information configured for the supplier on AN.
If no bank information exists in the chooser, you have not created any supplier bank locations.
If you choose a credit card as the payment method, the Bank Information menu changes to Buyer PCard
Number and you can select a ghosted purchasing card number:
6 Click OK to save your changes, or Cancel to return to the previous page without saving your changes.
Note: When a supplier uses the AN payment model, the remittance location for the supplier must match
the remittance location configured in AN for that supplier. If the values do not match, validation errors
occur in the user interface.
3 Click OK to save your changes, or Cancel to return to the previous page without saving your changes.
For more information on payment models, see Chapter 3, “Payment Models and Payment Send.”
• Local—Ariba Payment creates the payment with a technique of your choice. such as cutting a physical
check or pushing data to a database table. Ariba Payment handles traditional payment functionality
such as payment scheduling, discount selection, and payment disbursement.
• AN—Payment requests are sent to AN, which makes the payment.
3 Click Save to save your changes, or Cancel to return to the previous page without saving your changes.
For more information on payment models, see Chapter 3, “Payment Models and Payment Send.”
2 In the Payment Info section, choose or modify the payment model in the Payment Model menu.
• Default—The payment model defaults to the payment model configured for the supplier. If a payment
model is not associated with the supplier, the payment model configured for the partition is used.
• External System—Payment requests are handled in an external system, such as an ERP system.
• Local—Ariba Payment creates the payment with a technique of your choice. such as cutting a physical
check or pushing data to a database table. Ariba Payment handles traditional payment functionality
such as payment scheduling, discount selection, and payment disbursement.
• AN—Payment requests are sent to AN, which makes the payment.
3 Click Save to save your changes, or Cancel to return to the previous page without saving your changes.
For more information on bank payment locations, see Chapter 5, “Bank Information.”
In this example, the highlighted fields indicate values that must match values configured in AN for the
supplier when the supplier uses the AN payment model. If these values do not match, validation errors
occur in the user interface.
The following table describes the fields on the Create Payment Bank Location or Edit the Selected
Payment Bank Location Information pages.
Field Description
Name The name of the bank account.
Buyer Location? Check this box if the bank information is for a buyer bank. Clear this box if the bank
information is for a supplier bank.
Bank Name The name of the bank where the account resides. For a supplier bank location, this value
must match the bank name configured for the supplier on AN.
Bank ID Type The bank identifier type, such as Society for Worldwide Interbank Financial
Telecommunication (S.W.I.F.T) and American Bankers Association (ABA).
Bank Account ID The bank account identifier. For a supplier bank location, this value must match the bank
account identifier configured for the supplier on AN.
Field Description
Bank Account ID Type The bank account identifier type, such as National or International Bank Account Number
(IBAN).
Bank Account Type The bank account type, such as checking account or savings account. For a supplier bank
location, this value must match the bank account type configured for the supplier on AN.
3 Click Save to save your changes, or Cancel to return to the previous page without saving your changes.
EditPayment
Users who have this permission can make post-submission edits to payment request documents and add
approval requests to the approval flow for payment request documents. In the default configuration, this
permission is assigned to the following roles:
• Executive Approver
• Payment Manager
Note: You can edit payment request documents that are in the Scheduling status only. If your system is
configured to make payments through an ERP system, you cannot edit payment request documents.
ForceCancelPaymentTransaction
This permission is used for authorization. In the default configuration, this permission is assigned to the
Payment Administrator role. Users who have this permission are able to use the Force Cancel command in the
user interface to manually change the status of an payment transaction from Canceling to Canceled.
ForcePayPaymentTransaction
This permission is used for authorization. In the default configuration, this permission is assigned to the
Payment Administrator role. Users who have this permission are able to use the Force Pay command in the
user interface to manually change the status of an payment transaction from Paying to Paid.
ForceSendPayment
This permission is used for authorization. Users who have this permission are able to use the Force Send
command in the user interface to change the status of a payment request from Sending (or Failed Sending) to
Sent. For example, if a payment request was sent, but for technical reasons the status is not changing, users
with this permission can force the status to Sent. In the default configuration, this permission is assigned to
the Payment Administrator role.
P2PAdminAccess
Users who have this permission can access the Procure-to-Pay Manager workspace in Ariba Administrator.
PayablePushErrorEmail
Users who have this permission receive the Notification of Payment Send Failure message when a payment
send operation fails and the status of the payment document remains in Sending.
PaymentAdministrator
This permission is used for administering payment-related tasks. Users who have this permission can access
the Payment Methods, Payment Terms, Payment Bank Locations, and Supplier Payment Information tasks
in the Procure-to-Pay Manager workspace in Ariba Administrator.
Note: Users must have the P2PAdminAccess permission to access the Procure-to-Pay Manager workspace.
In the default configuration, this permission is assigned to the Payment Administrator role.
PaymentManager
This permission is used for authorization and notifications related to payments, in Ariba Settlement and
Ariba Invoice. Payment managers are users who are authorized for system administration and error handling
for payment approvable documents. Users who have this permission:
• Receive the Notification of Remittance Load Failure message when the scheduled task
RemittanceCSVImportLoader fails to load a data file successfully.
• Can access the Invoice Exception Types, Payment Methods, Procurement Line Types, Payment Terms,
Payment Bank Locations, and Supplier Payment Information tasks in the Procure-to-Pay Manager
workspace in Ariba Administrator.
Note: Users must have the P2PAdminAccess permission to access the Procure-to-Pay Manager workspace.
This permission is assigned to the Payment Manager role in the default configuration.
PaymentSendingEmail
This permission is used for notifications. In the default configuration, this permission is assigned to the
Payment Administrator role. Users who have this permission receive the Notification of Payment Send
Failure message if a payment request or payment transaction cannot successfully be sent to its intended
destination.
QueryAllPayment
Users who have this permission can query all the payment request documents in the system. They can also
see the Payment tab for invoice reconciliation (IR) documents. In the default configuration, this permission
is assigned to the following roles:
• Invoice Administrator
• Invoice Agent
• Invoice Manager
• Payment Administrator
• Payment Manager
• Purchasing Manager
• Receiving Manager
• Tax Manager
RemoveApprovalRequestPayment
Users who have this permission can remove approval requests from the approval flow for payment request
documents. In the default configuration, this permission is assigned to the following roles:
• Executive Approver
• Payment Administrator
Payment Agent
This role contains the following permissions for business users who work with payments in Ariba
Settlement:
• DashboardAuthorized
• EditPayment
• ModifyCommentsAndAttachments
• PaymentSendingEmail
• P2PDashboardAuthorized
• QueryAllInvoice
• QueryAllPayment
Payment Administrator
This role contains the following permissions for administrators who handle issues with payments in Ariba
Settlement:
• ForceCancelPaymentTransaction
• ForcePayPaymentTransaction
• ForceSendPayment
• P2PAdminAccess
• PaymentAdministrator
• PaymentManager
• PaymentSendingEmail
• QueryAllPayment
• RemoveApprovalRequestPayment
Payment Manager
A role that contains the following permissions for business process experts who handle payments in Ariba
Settlement:
• DashboardAuthorized
• EditPayment
• ModifyCommentsAndAttachments
• P2PAdminAccess
• P2PDashboardAuthorized
• PaymentManager
• QueryAllPayment
Payment Agent
This group contains the Payment Agent role.
Payment Administrator
This group contains the Payment Administrator role.
Payment Manager
This group contains the Payment Manager role.
This appendix describes Ariba Payment-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 Settlement is unable to send a payment request or payment transaction using the designated
payment send method, it sends this notification message to users who have the PaymentSendingEmail
permission.
Action:
You can take the following actions:
• Edit the payment document and save the changes. When an approver saves changes to the payment
document, Ariba Settlement retries the payment push. Only users with the PaymentAdministrator
permission can edit payment request documents at this point.
• Use the Force Send (payment request) or Force Pay (payment transaction) command to manually change
the status to Sent. The Force* commands change the status manually, but makes no other changes. These
commands are appropriate only if you are sure that the payment document was sent in some other way.
The Force Send command is available only to users with the ForceSendPayment permission. The Force Pay
command is available only to users with the ForcePayPaymentTransaction permission.
Cause:
The scheduled task RemittanceCSVImportLoader sends this notification message to users who have the
PaymentManager permission whenever it is unable to load a file of remittance information successfully.
For example:
Remittance csv import loader scheduled task failed to load the following files.
{IncomingFolder}/filename.xls
{IncomingFolder}/filename.xls
These files have been moved to the transactionData/remittance/errors directory. Please look at the
system log files for detailed information about the cause of failure.
Action:
Correct the data errors and move the file back into the appropriate directory for incoming remittance data,
where RemittanceCSVImportLoader can pick it up and retry.
This appendix contains Ariba Payment-related scheduled tasks. For scheduled task that are common to all
modules, see the Ariba Buyer Configuration Guide. For information on creating custom scheduled tasks, see
the Ariba Spend Management API Guide.
CXMLPaymentProposalLoader
CXMLPaymentProposalLoader = {
ScheduledTaskClassName = "ariba.cxml.base.client.GetPendingServiceImpl";
MessageType="CopyRequest.PaymentProposalRequest";
MaxMessages="10";
MaxRequests="1";
};
The CXMLPaymentProposalLoader scheduled task (display name “Payment Proposal Loader (cXML)”)
pulls PaymentProposalRequests between Ariba Buyer and AN, to update invoice reconciliation documents
and their associated payment request documents.
CXMLPaymentRemittanceLoader
CXMLPaymentRemittanceLoader = {
ScheduledTaskClassName = "ariba.payment.cxml.CXMLPaymentRemittanceLoader";
MaxMessages="10";
MaxRequests="1";
Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 4;};};
};
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.
DisbursementCreator
DisbursementCreator = {
ScheduledTaskClassName = ariba.payment.DisbursementCreator;
ColumnNames =
"PaymentTransactionId,PaymentDate,PaymentNumber,PaymentMethodType,SupplierName,SupplierBankName";
Columns =
"UniqueName,PaymentDate,PaymentNumber,PaymentMethodType.UniqueName,SupplierLocation.Name,Supplier
BankInfo.BankName";
}
The DisbursementCreator scheduled task (display name “Payment Disbursement Creator”) runs a query to
find payment transaction documents that have not been processed, and pushes those payment transactions to
a database staging table.
IncrementalRemittanceImport
IncrementalRemittanceImport = {
ScheduledTaskClassName = "ariba.integration.core.IncrementalIntegrationEventTask";
DefaultStartDate = "20080901000000";
LoggingName = "IncrementalRemittanceImport";
Variant = @variant@;
Partition = @partition@;
Event = RemittanceImport;
};
PaymentAggregator
PaymentAggregator = {
ScheduledTaskClassName = ariba.payment.AggregatePaymentsTask;
AggregationFieldsGroup = "PaymentAggregationGroup";
PaymentAggregatorClass = "ariba.payment.AribaPaymentAggregator";
Schedules = {
Schedule1 = { DayOfWeek = Everyday; Hour = 3; Minute = 30;};
};
};
The PaymentAggregator scheduled task (display name “Payment Request Aggregator”) runs a query to find
payment requests that are scheduled to be paid and determines how (or whether) to aggregate those requests
together onto payment transactions. In the default configuration, the payment aggregator groups together
payment requests that have the same supplier location and the same payment method. It applies only to
objects whose payment model is LocalPay.
PostProcessSettlementEnablement
PostProcessSettlementEnablement = {
ScheduledTaskClassName = "ariba.payment.PostProcessSettlementEnablement";
TargetPaymentModel = "ExternalPay";
};
After you have enabled Ariba Payment, you must run the PostProcessSettlementEnablement scheduled task
(display name “Performs post processing tasks after enabling settlement”). This task converts any existing
payment requests in your configuration to the Ariba Payment object model.
This task applies only to payment requests that currently have the status of Processing, and that were created
before you enabled Ariba Payment.
This task is defined in the default configuration, but is not scheduled. To use this task, you typically run it
just once, after enabling Ariba Payment.
This task takes a parameter, TargetPaymentModel, which can be set to either AribaPay or ExternalPay, to
indicate the payment model you want to use for the converted payment requests. The default value of the
TargetPaymentModel parameter is ExternalPay, which sends any outstanding payment requests out to an
external system, as in previous versions of Ariba Buyer. This parameter is required.
ProcessPaidPaymentTransactions
ProcessPaidPaymentTransactions = {
ScheduledTaskClassName = ariba.payment.ProcessPaidPaymentTransactions;
Schedules = {
Schedule1 = {DayOfWeek = Everyday; Hour = 4; Minute = 00;};
};
};
The ProcessPaidPaymentTransactions scheduled task (display name “Process Paid Payment Transactions”)
looks for payment transaction documents that are in the Paid state, and moves them to Cleared. Before
moving a transaction to Cleared, this task checks to see if the appropriate number of days have passed. The
number of days to wait is specified on the payment transaction, and set from the payment method. For
example, if the payment method is check, the number of days to wait is likely to be higher than if the
payment method is ACH.
ProcessPendingPaymentRequests
ProcessPendingPaymentRequests = {
ScheduledTaskClassName = "ariba.payment.ProcessPendingPaymentRequests";
Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 3; Minute = 00;};};
};
The ProcessPendingPaymentRequests scheduled task (display name “Process Pending Payment Requests”)
picks up pending payment requests with the status Scheduling, and checks the scheduled payment date. If
the ScheduledPaymentDate is on or before the current date, ProcessPendingPaymentRequests moves them
into the Scheduled state.
ProcessSkippedPaymentRequests
ProcessSkippedPaymentRequests = {
ScheduledTaskClassName = ariba.payment.ProcessSkippedPaymentRequests;
Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 5; Minute = 00;};};
};
When a payment request is sent to AN, certain values configured in Ariba Buyer (such as remittance address
information) must match values configured for the supplier in AN. If these values do not match, Ariba Buyer
generates validation errors. Even after an administrator fixes the values so that they match, payment requests
can remain “stuck” in the Scheduling status. The ProcessSkippedPaymentRequests scheduled task (display
name “Process skipped payment requests”) looks payment requests that have been skipped because of
validation errors, makes sure the validation errors have been fixed, and then reprocesses them.
RemittanceCSVImportLoader
RemittanceCSVImportLoader = {
ScheduledTaskClassName ="ariba.payment.server.RemittanceCSVImportLoader";
Adapter = RemittancePull;
IncomingFolder = "transactionData/remittance/incoming";
ProcessedFolder = "transactionData/remittance/processed";
FailedToProcessFolder = "transactionData/remittance/errors";
Schedules = {
Schedule1 = {
DayOfWeek = Weekday;
Hour = 0;
};
};
};
The RemittanceCSVImportLoader scheduled task (display name “Payment Remittance Loader (CSV)”)
reads remittance data from CSV files and loads that data into Ariba Payment. This task is part of the
Settlement module and is enabled only if you have loaded the Settlement module.
ResendFailedPaymentRequests
ResendFailedPaymentRequests = {
ScheduledTaskClassName = "ariba.payment.ResendFailedPaymentRequests";
Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 2; Minute = 00;};};
};
The ResendFailedPaymentRequests scheduled task (display name “Retry Sending Payment Requests”)
resends payment requests that did not transmit successfully to the intended destination. This task scans the
database for all such failed payment requests and retries the transmission.
Each time it runs, the ResendFailedPaymentRequests task looks for any failed payment requests and retries
them. It can potentially retry the same payment request each time it runs, until the transmission succeeds.
ResendFailedPaymentRequests is available for all variants.
ResendFailedPaymentTransactions
ResendFailedPaymentTransactions = {
ScheduledTaskClassName = "ariba.payment.ResendFailedPaymentTransactions";
Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 2; Minute = 00;};};
};
The ResendFailedPaymentTransactions scheduled task (display name “Retry Sending Payment Transactions
(Remittance)”) resends payment transaction requests that did not transmit successfully to the intended
destination. This task scans the database for all such failed payment transaction requests and retries the
transmission.
Each time it runs, the ResendFailedPaymentTransactions task looks for any failed payment transaction
requests and retries them. It can potentially retry the same payment transaction request each time it runs,
until the transmission succeeds.
A SLRemittanceDetails.csv 35
ABA (American Bankers Association) 30 configuring
ACH payment method 28 payment aggregator 48
ad-hoc payment terms, payment terms payment terms 12
ad-hoc 38 contracts, payment terms on 38
aggregation 47 credit card payments 27
customizing the payment aggregator 48 credit memos
payment aggregator 47 payment aggregation and 47
AN payment requests and 10
choosing as payment model 18 credit payment requests 10
enabling AN payment 14 currency, on remittance advice 58
payment methods 28 CXMLPaymentRemittanceLoader scheduled task 53, 77
payments on 10 CXMLProcessUndeliveredPayloads scheduled task 78
ANPay, in user interface 18
approvable documents
D
payment documents 10
Ariba Settlement 9 data sources, preparing 14
aribanetwork logging category 62 dates for payments 44
AribaNetworkOrganizationSync scheduled task 33 default payment aggregator 47
AribaPay payment model 22 DefaultPaymentTerms parameter 42
choosing ANPay or LocalPay 18 direct payments
AribaPaymentDiscountSelector class 46 configuration 22
AribaPaymentScheduler class 44 configuring required functionality 12
AribaPaymentTermsDefaulter class 41 DisbursementCreator scheduled task 79
configuration file entry 49
staging table 49
B DisbursementData staging table 49
bank account information discounts
account types 29 discount policy 46
buyer and supplier accounts 32 line types for 46
ID type pull 30
BuyerBankLocation field, defaulting 32
E
effective date for payments 45
C ERP integration
check payments 27 payment terms 42
cleared transactions 50 export events., payment methods 28
CommonSupplierSyncUsingSupplierLocationID
scheduled task 33
F
completed payments 9
configuration files ForceCancelPaymentTransaction permission 70
BankAccountIDType.csv 31 ForcePayPaymentTransaction permission 69
BankAccountType.csv 29 forcing status change
BankIDType.csv 30 permissions 69
PaymentMethodType.csv 27
PaymentTerms.csv 27, 39
RemittanceLocation.csv 34 G
RemittanceLocationDetails.csv 35 G/L push 49
PaymentTermsStepDetails.csv 39 T
permissions tax accrual payment requests 47
ForceCancelPaymentTransaction 69 trigger events
PaymentAdministrator 70 SetPaymentTermsOnMAChange 41
PaymentManager 70 SetPaymentTermsOnOrderChange 41
PaymentSendingEmail 70 SetPaymentTermsOnSupplierChange 40
PostProcessSettlementEnablement scheduled task 16, 80 SetPaymentTermsOnSupplierLocationChange 40
preparing data sources 14 triggers
ProcessedID field, payment transactions 50 for payment terms 40
ProcessPaidPaymentTransactions scheduled task 50, 81 updating remittance location 34
ProcessPendingPaymentRequests 50
validation of payment requests 50
ProcessPendingPaymentRequests scheduled task 50, 81 V
purchase orders, payment terms on 38
validation
payment requests 25
R scheduling and 50
remittance address
remittance location 34 W
updates with trigger 34
wire payments 27
remittance advice 10, 12, 51
currency 58
payment transactions and 58
pulling from external system 10
RemittanceCSVImportLoader scheduled task 53
RemittancePull integration event 54
details file example lines 58
details file fields 57
header file example lines 57
header file fields 55
sample data files, location of 55
S
S.W.I.F.T. 30
scheduled tasks
CommonSupplierSyncUsingSupplierLocationID 33
DisbursementCreator 49
error handling 54
PaymentAggregator 47
PostProcessSettlementEnablement 16, 80
ProcessPaidPaymentTransactions 50
ProcessPendingPaymentRequests 50
scheduling, payment forecasting and 9
send methods 20
SetBuyerPaymentBankLocation action 32
SetPaymentTerms action 41
SetRemittanceLocation action 34
Silent send method 23
staging table 49
supplier data
payment methods 28
supplier location data 33
supplier profiles 33
supplier locations
remittance locations for 35