Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Payment Integration
Guide
Release 11s
Document Version 5
June 2012
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.
11s.0182.en
Revision History
Revision History
The following table provides a brief history of the updates to this guide. Ariba updates the technical
documentation for its On Demand solutions when:
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.
To provide feedback on this guide or any Help@Ariba resources, click the Submit Feedback link on any
Help@Ariba page.
2 August 2011 Chapter 3 - Description for the Invoice Date and Operation fields newly
Payment Proposal added to the CSV file; also included the Early Payment
CSV File Format Discount field
Chapter 5 -
Additional Description for the STAT column
Consideration
4 October 2011 Chapter 1- Added information on the new Payment Integration Toolkit
Understanding the version and the JDK version
Ariba Data Removed information on BLAT that is no longer supported
Transfer Tool
5 June 2012 Miscellaneous Updated installation and upgrade procedures. Various editorial
improvements for better presentation and readabilit.
Chapter 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Payment Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Understanding the Ariba Data Transfer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Understanding the DB Connector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Understanding the Ariba SAP Integration Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Installing or Upgrading the Integration Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Upgrading the Integration Toolkit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Installing the Ariba Integration Toolkit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Downloading and Installing the SAP Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Downloading the Transport Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Installing the Transport Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Running Directory Management Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Scheduling the Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Using the -version and -info Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Overview on page 7
Installing or Upgrading the Integration Toolkit on page 10
Downloading and Installing the SAP Transports on page 13
Scheduling the Tools on page 15
Using the -version and -info Options on page 15
Overview
The Ariba Network allows buying organizations to integrate their ERP systems with the Ariba Network to
exchange payment proposals and remittance advices. To enable this integration, you download and configure
the Ariba Integration Toolkit and configure it for payment integration with the Ariba Network using the
following tools:
The Ariba Data Transfer Tool, a command-line utility that facilitates CSV file transfer in batch mode
between the Ariba Network and your ERP system, manually-maintained database, or some other system.
The DB Connector (for ERPs that support Java database connections), which is a command-line utility
that bridges the gap between the Ariba Data Transfer Tool and JDBC-based ERP systems. It transfers
payment proposals and remittance advices between your ERP and CSV files.
Ariba SAP integration programs (for SAP systems), which transfer payment proposals and remittance
advices between SAP and CSV files.
The following figure shows how data flows between Ariba Network and your JDBC-based ERP system
through the DB Connector and the Ariba Data Transfer Tool:
The following figure shows how data flows between Ariba Network and your SAP system through the Ariba
SAP integration programs and the Ariba Data Transfer Tool:
SAP Server
SAP
CSV
Pull Files
Push
Payment Data
Transactional payment data travels bidirectionally between your ERP and the Ariba Network through the
Ariba Data Transfer Tool. It consists of the following types of information:
Payment proposals from your ERP, which are payment schedules that include payment methods,
payment amounts, and payment dates. After you pull payment proposals from your ERP, the Ariba
Network receives the CSV files, transforms them into cXML PaymentProposalRequest documents, and
forwards them to your suppliers.
Remittance advices from your ERP, which inform suppliers that payments have been made and refer to
related invoices and credit memos. Suppliers use them to compare payments received with amounts in
their invoices or credit memos. Each remittance advice is composed of two CSV files: Remittance.csv,
which contains header-level information and RemittanceDetails.csv, which contains line-level details.
After you pull remittance advices from your ERP, Ariba Network receives the CSV files, transforms them
into cXML PaymentRemittanceRequest documents, and forwards them to your suppliers. If you use Ariba
Payment Professional, the Ariba Network passes the payment details in your remittance advices to the
specified bank for settlement.
Payment proposals containing early payment requests from the Ariba Network, which consist of
payment schedules containing discounts. This information is available if you use Ariba Network Discount
Management (formerly named Dynamic Discounting), where you or your suppliers propose discounts in
exchange for early payments. You download these requests and push them to your ERP to keep payment
amounts and dates up to date. When you download this information, Ariba Network converts cXML
PaymentProposalRequest documents to payment proposal CSV files and sends them to you.
The format of the CSV files that represent this data is described in Chapter 5 CSV File Formats.
It is a simple HTTP client that resides on your local computer and runs on Microsoft Windows or UNIX.
You control it by setting operational parameters in separate options files. Use it with a scheduler to run
regularly.
To use the Ariba Data Transfer Tool you perform the following general steps, each of which is described
later in this guide.
To use the DB Connector you perform the following general steps, each of which is described later in this
guide:
These programs are intended to serve as accelerators to help your IT department more rapidly build business
integration between SAP and Ariba. If your business processes require the inclusion of additional data that is
not supported by these programs by default, work with your IT department to add the appropriate logic to
them.
You can run these programs manually or schedule them to run at regular intervals. For more information, see
Chapter 4 Pulling and Pushing Payment Data in SAP.
Prerequisite
Before installing the Ariba Integration Toolkit, complete the following prerequisites:
If you are using the JDBC diver, install the appropriate JDBC database driver and write down its location
and class. Supported drivers include:
Oracle JDBC type 4 driver
DB2 JDBC type 4 Universal driver
Microsoft SQL Server 2005 type 4 JDBC Driver 1.1
2 Go to connect.ariba.com and log in. If you do not have a User ID and Password for Connect, contact your
Ariba account executive.
3 In the Product Summary portlet, click the Product Info page for Ariba Network.
5 Click Download and save the aribaintegrationtoolkit.jar file to your local system.
Important: Make sure you are extracting the files to a location different from your existing installation of
the Ariba Integration Toolkit, such as IntegrationToolkit_11s3.
7 Copy all your .bat and .sh files available in different folders under the sample-options\DataTransferTool
folder in your existing installation and replace these folders under the sample-options\DataTransferTool
folder available in your newly created folder structure.
8 If you are upgrading from version 10s1 or older, edit the sample-options file corresponding to each of the
.bat and .sh files available in your newly created folder structure with the following information:
Remove the sharedsecret parameter from the sample-options file.
Add three parameters, integrationPasswordKeyPath, encryptionKeyPath, and servicemode to the
sample-options file if they are not already included in the file.
9 If you are upgrading from version 11s2 or older, set JAVA_HOME to point to the location where you have
installed JDK 1.6. in your sample-options file.
When you unpack the jar file, the following directories are created (files with the .bat extension are for use
with Microsoft Windows and files with the .sh extension are for use with UNIX):
Directory Contents
bin Wrapper scripts for the Ariba Data Transfer Tool and the DB Connector that provide the tools
with the environment variables specified in the options files. The wrapper scripts are
available for Microsoft Windows (as .bat files) and UNIX (as .sh files), and include:
aribafiletransferthe main script that performs the data transfer
downloadutilscontains functions called by aribafiletransfer for transferring data
from the Ariba application to your ERP system
uploadutilscontains functions called by aribafiletransfer for transferring data to
the Ariba application from your ERP system
toolslibcontains helper utilities for the other wrapper scripts
encryptstringan optional script that encrypts the shared secret. For more
information on this script, see Encrypting the Shared Secret or Client Certificate on
page 18.
classes The log4j.properties file.
Directory Contents
sample-options Customizable sample options files for data upload and data download:
DataTransferTool\*
In DBConnector\data-export:
db2.properties
oracle.properties
In DBConnector\data-import:
db2.properties
oracle.properties
In DBConnector\sql-syntax-mapping:
DBSyntax.table.mssql.properties
DBSyntax.table.oracle.properties
Note: The files in the DataTransferTool directory are used by the Ariba Data Transfer Tool for
integration with Ariba procurement and invoicing solutions. For payment integration with the
Ariba Network, you download the options file directly from your Ariba Network account.
4 Under Payment Automation, click Ariba Network Payment Integration SAP Transports.
5 Click Save, and specify a location on your hard drive. The SAPTransports.zip file is downloaded to the
location you set.
6 Unzip the downloaded file.
The transports contain both client-dependent and independent configurations. Therefore, specify a target
client when adding these transports to your import queue. If you are using SAPs Transport Management
System (STMS), use extended transport control so that you can specify the target client.
Do not use umodes when installing these transports.
Ariba recommends that you ask your SAP BASIS personnel to install the Ariba transports.
By default, these commands execute function in Windows. You can modify them to perform the same
functions in other operating systems by using the External command utility in SAP (transaction SM69).
Creating a Directory
The modules use the ZSSPDIRCREATE command to create directories for CSV files. It creates a processing
directory for CSV files it is in the process of creating (and when done renames it to processed). It also
creates an error directory. This is where it puts files that encountered a processing error.
You can change ZSSPDIRCREATE in the SAP SM69 transaction to use a different command, depending on your
operating system.
You can change ZSSPMOVE in the SAP SM69 transaction to use a different command, depending on your
operating system.
Renaming a Directory
The modules use the ZSSPREN command to rename a directory. For example, it renames the processing
directory to processed after the CSV files are written.
You can change ZSSPREN in the SAP SM69 transaction to use a different command, depending on your
operating system.
These options are not included in the wrapper script, so use the java jar command on the command line.
os.name : Windows XP
os.version : 5.1
os.arch : x86
java.vm.version : 1.6.0_12-b04
java.vm.vendor : Sun Microsystems Inc.
The Ariba Data Transfer Tool is a simple HTTP client that resides on your local computer and runs on
Microsoft Windows or UNIX. Wrapper scripts in the Ariba Data Transfer Tool use options that you specify
in options files to invoke core code functionality.
Option Files:
an-upload You modify a copy of the
an-download options files based on the
data to be transferred.
Wrapper Scripts:
aribafiletransfer
uploadutils In most cases you do not
downloadutils need to modify the wrapper
toolslib scripts.
encryptstring
When you run the Ariba Data Transfer Tool, the transactional data is automatically uploaded to the Ariba
Network.
You can view details of uploaded transactional data from your Outbox in your Ariba Network account. Your
suppliers can also view the status of the batch files you upload that pertain to them in their Ariba Network
account. You can download or queue these transactional data again. Additionally, you can also manually
upload or download CSV transactional data.
Additionally, define your payment mapping method. The Ariba Network requires you to map your ERP
system payment method to a payment method available on the Ariba Network.
For more information, see the Ariba Network Buyer Administration Guide.
Options Files
To use the Ariba Data Transfer Tool, set options in working copies of the options files described in
Customizing the Options Files on page 20.
In the options files, you specify your ANID of your organization, authentication information, the location of
data to be loaded, and a location to receive the data exported from the Ariba Network, along with other
options.
When you start the Ariba Data Transfer Tool from the command line, the tool checks for the presence of
required values and transfers the data to your site using an HTTPS post. The tool determines whether to use
username and password or shared secret and sends the correct credential to the service for authentication.
The options files also specify whether to send an email notification reporting the status of the data transfer
and also whether to perform a cleanup of old data.
You are not required to encrypt your shared secret. You can provide it unencrypted in the options files or you
can omit it. If you omit it, the Ariba Data Transfer Tool prompts you for it at run time. If you choose to use
an unencrypted shared secret password, be sure it does not start with the string {3DES}, or it will be
incorrectly construed as encrypted, and the job will fail when the decrypting algorithm fails to generate a
valid string.
The location of java.exe is required for the encryptstring script and all the other scripts as well. To save
steps, it need only be set once in the options file. (All options files have the JAVA_HOME option, however, so
that the JRE can be found no matter which task you run.)
3 Open the options file you intend to use in a text editor and find the JAVA_HOME option.
4 Set the JAVA_HOME option to the path up to, but not including the bin directory. For example:
set JAVA_HOME=C:\Program Files\Java\jdk1.6\
5 At the command prompt change to the directory containing the encryptcustomerkey script. For example:
cd D:\IntegrationToolkit\bin
6 Run the script to encrypt the customer key using the following syntax:
encryptcustomerkey.bat <options file> <key>
where <options file> is the path and name of an options file where you have set the JAVA_HOME option.
The key is the customer encryption key.
A prompt to enter the key is displayed.
7 Enter the customer encryption key.
The encrypted key must be the first and only line in the file without any spaces before or after. The path to
this file must be passed as the value for the encryptionKeyPath parameter in the sample-options file.
9 Run the script to encrypt a string using the following syntax:
encryptstring.bat <options file> <string>
where <options file> is the path and name of an options file where you have set the JAVA_HOME option.
A prompt to enter the string is displayed.
10 Enter the required string.
The encrypted string must be the first and only line in the file without any spaces before or after. The path
to this file must be passed as the value for the integrationPasswordKeyPath parameter in the
sample-options file.
The encrypted string in this example is prefixed with the string {3DES}, indicating the encryption algorithm
used is Triple DES. The Ariba Data Transfer Tool uses the entire encrypted string.
Important: If you are running the tool on Windows, the options files must end in .bat. For example, the
Microsoft Window file RemittanceUpload.bat.sample must be renamed RemittanceUpload.bat or the
wrapper script will not run.
3 Use a text editor to modify the options files you just copied. The options that you need to specify are
described in detail in Ariba Data Transfer Tool Options on page 20.
Important: If you are running the tool on Microsoft Windows, double quotes are required for two options,
event and sourceSystem.
Warning: Each options sample file contains a section marked Do not modify anything after this line. This
section of the options sample file is pre-configured and must not be changed.
Example:
set JAVA_HOME=C:\Program Files\Java\j2re1.6.0_10
ANID Specify the ANID of the buying organization. If the buying organization Upload,
has more than one ERP system, define an application system ID to Download
uniquely identify the ERP system on the Ariba Network.
For example:
set ANID=AN0100000123
set systemID=ERP020
If you are using Microsoft Windows, you must quote the value of the
event option.
You must specify individual folders for payment proposals and payment
update transactions.
timestampFile Use to specify, for incremental downloads, the time stamp file that Download
ensures the download event pulls data saved since the latest successful
download.
filePrefix Use to specify a prefix for downloads, for example, PaymentRequest. Download
The tool appends a time stamp to downloaded files, indicating when the
download was completed.
smtpMailServer Specify the Simple Mail Transfer Protocol (SMTP) server that the Ariba Upload,
Data Transfer Tool email client uses to send notification messages. Download (.bat
only)
Example: set smtpMailServer=mail.mycompany.com
topDir Specify the full path to the directory where the various input and output Upload
subdirectories should go.
filterprefix Specify the subdirectory name prefix that indicates which CSV file Upload
subdirectories (in inDir) the tool should ignore when uploading files.
If you have a program that generates CSV files, it should use a file name
that begins with this prefix and then rename the file when the file is
ready for transfer. If this task is scheduled to run while the file is still
being generated, the file is ignored until the next scheduled run.
outDir Specify the full path to the directory where the Ariba Data Transfer Tool Upload
moves CSV files after it sends copies to the Ariba Network.
PerformCleanup Specify 1 if you want the Ariba Data Transfer Tool to delete sent CSV Upload
files from the outDir directory when they are older than the
cleanupFilesOlderThan value.
cleanupFilesOlder Specify the maximum number of days you want to retain sent CSV files Upload
Than in the outDir directory.
logDir Specify the full path to the directory where the Ariba Data Transfer Tool Upload,
writes a log file after it finishes the task that uses this options file. Download
notifyonsuccess Specify 1 to enable sending an email message when the data transfer is Upload,
successful. Specify 0 to disable this feature. Download
notifyonfailure Specify 1 to enable sending an email message when the data transfer is Upload,
not successful. Specify 0 to disable this feature. Download
notificationSuccess Specify the subject of the notification email message when the data Upload,
Subject transfer is successful. Download
For example:
set notificationSuccessSubject=AribaFileTransfer
Transactional Data Upload: Success
For example:
set notificationFailureSubject=AribaFileTransfer
Transactional Data Upload: Failed
SystemID The ERP ID configured on Ariba Network for multi-ERP support. Upload,
Download
When you purchase a signed digital certificate, it must refer to an organization that is trusted by the Ariba
Network. You can use a digital certificate issued by any issuing organization, however it must reference a
root certificate from a trusted Certificate Authority. For more information, see the Ariba cXML Solutions
Guide.
To enable authentication using a client certificate, configure the following options in your options file:
For example:
set clientKeystore=C:\cert\MyKeyStore.jks
For example:
set clientKeystorePassword=storePass
clientKeyPassword The password for the client certificate. This parameter is Upload
required only when the authentication is set as client Download
certificate.
For example:
set clientKeyPassword=keyPass
For enhanced security, use the encryptstring utility script to create an encrypted shared secret or client
certificate used. This script creates an encrypted version of the input string, which it displays at the
command prompt so you can copy it into all the options files.
To enable secure communication through a proxy server, configure the following options:
set proxyHost=localhost
proxyPort The port used by the proxy server to handle secure Upload
communication. Download
For example:
set proxyPort=8081
Possible values:
B: basic
D: digest
N: NTLM
For example:
set proxyAuthMode=D
proxyUser The user name used for authentication. Required for all three Upload
authentication methods. Download
For example:
proxyUser=username
proxyPassword The password used for authentication. Required for all three Upload
authentication methods. You can use an encrypted password. Download
For more information, see Encrypting the Shared Secret or
Client Certificate on page 18.
For example:
proxyPassword=password
proxyDomain The domain to which the user identified by the proxyUser Upload
option belongs. Required for NTLM authentication only. Download
For example:
proxyDomain=ARIBA
The main program takes an options file as an argument and the options file sets environment variables. The
main program then continues, invoking the appropriate wrapper scripts as necessary to perform the
requested data transfer task.
Before you run the tool, make sure that you have set up the appropriate options files for the integration tasks
you plan to run.
To download these queries, go to http://connect.ariba.com and log in. For more information, seeInstalling
or Upgrading the Integration Toolkit on page 10.
Uploading Data
The Ariba Data Transfer Tool uploads remittance advices and payment proposals data to the Ariba Network.
Note: Ariba Network supports uploading payment batches not exceeding 5000 payments for less than 20,000
invoices. You must ensure that the remittance advice files do not exceed this limit.
Note: This example assumes you are running the tool on Microsoft Windows. If you use the tool on UNIX,
use the .sh options files and forward slashes (/) instead, and follow the syntax as it appears in the options
files.
Note: This example shows the Microsoft Windows set command. The UNIX options files do not require you
to use set.
To upload data:
1 Make a copy of D:\ariba\sample-options\DataTransferTool\an-upload\transactionaldata.bat.sample, move
the copy to another directory, and rename the file transactionaldata.bat.
Note: On Microsoft Windows, the file extension must be .bat. (This does not apply if you are using
UNIX.)
set ANID=AN0100000123
set clientKeystore=C:\cert\MyKeyStore.jks
where C:\cert\MyKeyStore.jks is the file path to the client certificate key store.
set clientKeystorePassword=storePass
You can use any directory as ErpDropDir as long as it contains an empty subdirectory called InDir. The
tool assumes ErpDropDir and InDir exist.
e If you choose to enable the proxy server authentication, enter the following options:
set proxyHost=myproxyhost
where 8081 is the port used by the proxy server to handle secure communication.
set proxyAuthMode= N
where domain is the domain to which the user identified by the proxyUser option belongs.
f Define the notifyEmail option to specify the email address to use for notifications from the tool:
set notifyEmail=your email account
Note: You can specify multiple email addresses by separating each one with a comma (Microsoft
Windows) or a space (UNIX).
g (On Microsoft Windows only) Define the smtpMailServer option to specify the SMTP mail server to
use for email notifications from the tool:
set smtpMailServer=mail.yourcompany.com
set event="PaymentRequest"
Warning: On Microsoft Windows, quotes are required for the event option.
Note: If you are using the Ariba Data Transfer Tool in an SAP environment, the filePrefix value must
match a value in SAP. For more information on using filePrefix, see Chapter 4 Pulling and Pushing
Payment Data in SAP.
a To open a Microsoft Windows command interpreter, click Start, Run, then type cmd and click OK.
b Enter:
cd D:\ariba\DataTransferTool
and press Return. (D:\ariba\DataTransferTool is the directory in which the tool is installed.)
c Enter:
bin\aribafiletransfer sample-options\an-upload\transactionaldata.bat
Check the command interpreter for a message like the following, and also check your incoming email for a
message about the transfer.
Will log to D:\ariba\DataTransferTool\topLevelDir\logs\log-20071012-93835-85.log
********************************************************
****Running File Transfer Tool at Thu Oct 12 09:38:36 PDT 2007****
done executing POST method.
Data transfer complete.
Sending D:\ariba\DataTransferTool\topLevelDir\logs\log-20071012-93835-85.log to
joesmith@ariba.com
Subject: AribaFileTransfer Data Upload: Successful
Login name is donotreply
Incremental Uploads
The transaction data uploads are incremental. That means each batch of CSV files from your ERP data only
contains data that changed since the last upload. However, the Ariba Data Transfer Tool transfers not only
the latest subdirectory, but all of the CSV subdirectories, from the oldest to the newest. The tool stops when
it completes the transfer or encounters an error. There is no need for an unsentDir directory.
After the upload, the tool adds a time stamp to the subdirectory that contained them and moves the
subdirectory to the %outDir%\success directory.
If the tool is unable to transfer the files, such as if a connection failure occurs, the tool moves the files to the
%outDir%\failed directory.
All Uploads
If you use a utility to create CSV files from your ERP data, it should name the batch subdirectory with a
special prefix, such as processing, while the file is being written. The filterPrefix option (whose default is
processing) prevents the tool from transferring CSV files with that prefix. The utility used to create the files
can then rename the directory when the files are complete. Using the filterPrefix variable prevents problems
in the case where the upload is scheduled to run when the CSV files are still being written.
You can use the performCleanup options to clean old files out of the outDir and unsentDir directories.
The following figure shows a data structure set up for the upload tasks. Each task is separated into a top
directory to keep the log files, and successful/failed data files separate from those of other tasks.
In case of an error in transferring the CSV files, the tool moves the sub-directory to
D:\ariba\DataTransferTool\ErpDropDir\OutDir\failed\PaymentRequest20071012193557, which is
%dErpDropDir%OutDir%sfailed%filePrefix%YYYYMMDDhhmmss.
You can also upload CSV transactional data from your Ariba Network account. For more information, see
Ariba Network Buyer Administration Guide.
Downloading Data
When you download data from Ariba Network, the Ariba Data Transfer Tool triggers the
PaymentRequestDownload task.
This task downloads selected CSV files from the Ariba Network to the directory that you specify in the
options file. After you download data you can use any utilities to transfer it to your ERP.
Note: This example assumes you are running the tool on Microsoft Windows. If you use the tool on UNIX,
use the .sh options files and forward slashes (/) instead, and follow the syntax as it appears in the options
files.
Note: This example shows the Microsoft Windows set command. The UNIX options files do not require you
to use set.
Note: On Microsoft Windows, the file extension must be .bat. (This does not apply if you are using
UNIX.)
set ANID=AN0100000123
set clientKeystore=C:\cert\MyKeyStore.jks
where C:\cert\MyKeyStore.jks is the file path to the client certificate key store.
set clientKeystorePassword=storePass
You can use any directory as DownloadFromAriba as long as it contains an empty subdirectory called
InDir. The tool assumes DownloadFromAriba and InDir exist.
e If you choose to enable the proxy server authentication, enter the following options:
set proxyHost=myproxyhost
where 8081 is the port used by the proxy server to handle secure communication.
set proxyAuthMode= N
where domain is the domain to which the user identified by the proxy User option belongs.
f Define the notifyEmail option to specify the email address to use for notifications from the tool:
set notifyEmail=your email account
Note: You can specify multiple email addresses by separating each one with a comma (Microsoft
Windows) or a space (UNIX).
g (On Microsoft Windows only) Define the smtpMailServer option to specify the SMTP mail server to
use for email notifications from the tool:
set smtpMailServer=mail.yourcompany.com
set event="PaymentRequestDownload"
Warning: On Microsoft Windows, quotes are required for the event option.
Note: If you are using the Ariba Data Transfer Tool in an SAP environment, the filePrefix value must
match a value in SAP. For more information on using filePrefix, see Chapter 4 Pulling and Pushing
Payment Data in SAP.
a To open a Microsoft Windows command interpreter, click Start, Run, then type cmd and click OK.
b Enter:
cd D:\ariba\DataTransferTool
and press Return. (D:\ariba\DataTransferTool is the directory in which the tool is installed.)
c Enter:
bin\aribafiletransfer sample-options\an-download\transactionaldata.bat
In this example, the tool downloads files from the Ariba Network into
D:\ariba\DataTransferTool\DownloadFromAriba\PaymentRequest20071012193557. If there is no data to be
downloaded, the PaymentUpdate.csv file is empty.
You can also manually download CSV transactional data from your Ariba Network account. For more
information, see the Ariba Network Buyer Administration Guide.
Directory Structure
The Ariba Data Transfer Tool places data downloaded from Ariba in the directory specified in the
downloadDir option. By default this directory is called C:\TEMP\DownloadFromAriba.
Problem Solution
A failure occurs Make sure the Ariba Network is currently available
Check the log file for information
Check the options files for incorrect parameters
Check the command interpreter for incorrect or ambiguous
input
A temporary failure occurs when you have a Let the tool finish processing the backlog. Until the backlog is
backlog of incremental data to upload and the processed completely, you might receive multiple email messages
transfer times out before completing indicating the transfer failed. This problem is only temporary.
You receive an error message containing this text: Check your options file for possible incorrectly quoted options.
You receive an error message containing this text: The shared secret is incorrect. Check the shared secret and try
again.
Bad credentials -- wrong shared secret
You receive an error message indicating you tried Make sure the filename is typed correctly and that it is one of the
to transfer a file with an illegal filename CSV files that Ariba expects. The CSV files expected are listed in
each Ariba data load guide.
You want more log information Append the verbose option to the additionalClientArgs
option. For example:
1 A local failure occurred on the client side and the tool did not transfer any files. The problem could be
file permissions. Check the log file for more information, and check the file permissions before
retrying the transfer.
2 A remote temporary failure occurred and the tool did not transfer any files. This can be caused by a
command issued on the server side. Either the connection is unavailable or there is another problem,
such as the server cannot handle the request at the moment. Check the log file for more information
before retrying the transfer.
3 A remote permanent failure occurred and the tool did not transfer any files. You could see this error
code if you specified the wrong shared secret or an internal server failure occurred. Check the log file
for more information, and make sure you correctly enter the shared secret.
Process Overview
The DB Connector allows you to extract transactional data from your JDBC-based ERP system database and
save it to CSV files. You then use the Ariba Data Transfer Tool to import the transactional data into Ariba
Network. Conversely, you can use the Ariba Data Transfer Tool to extract transactional data from Ariba
Network and save the data to CSV files. Using the DB Connector you can load the CSV file into your ERP
system database. The term transactional data is used to refer to payment proposals, payment updates, or
remittance information.
The DB Connector allows you to extract data from or load data into ERP systems that expose interface
schemas. The DB Connector inserts data directly into the interface tables and retrieves data by querying
either interface or production tables.
Note: The DB Connector is not designed for use with ERP systems, such as SAP, that do not expose interface
schemas. For more information about how to integrate your SAP ERP system with Ariba Network, see
Chapter 4 Pulling and Pushing Payment Data in SAP. The DB Connector is not a general mapping or
integration tool. Mapping is limited to SQL expressions, and the tool does not allow integration through SAP
iDocs, XML, or EDI. Only database table interfaces are supported.
In a typical installation, data transfers between Ariba Network and your ERP system occur at different
intervals. For example, you might:
Upload transactional data every day, or every other day
Download transactional data every four to six hours
Because of differences in frequency, direction, and contents of data transfers, you use a separate instance of
the DB Connector to process each flow. For each flow, you create a properties file and a set of queries to
execute.
During export, the DB Connector reads each query file in the query directory, executes the query, and
generates a CSV file of the same name as the query file. When all queries have finished executing, the DB
Connector sends an email summarizing status and then terminates. If one or more queries fail, the DB
Connector sends a status email summarizing the failure, but does not create any CSV files.
The Ariba Network uses the PaymentProposal.sql, Remittance.spl and RemittanceDetail.sql query files
to extract data from your ERP system.
The following graphic illustrates the process of extracting transactional data from your ERP system using
the DB Connector. The extracted data can subsequently be imported into Ariba Network using the Ariba
Data Transfer Tool:
During import, the DB Connector reads each query file and executes the query against the CSV file of the
same name. Once all queries in the input directory have finished executing, the optional query contained in
the postprocessing.sql file executes to process the loaded data set. Upon successful completion, the DB
Connector commits the transaction, moves the data files into the archive directory, sends an email
summarizing status, and then terminates.
The Ariba Network uses the PaymentUpdate.sql query files to load payment data to your ERP system.
The following graphic illustrates the process of loading transactional data extracted from Ariba Network into
your ERP system using the DB Connector:
When you are developing and testing your DB Connector setup, you might prefer to work with an
unencrypted database password for ease of use. However, Ariba recommends that all database passwords be
encrypted in actual production situations for security.
2 The encryption program depends on a jar file called sunjce_provider.jar to provide the triple DES
encryption algorithm. Verify that this jar file is installed under the extension directory of the Java
installation you are using. The extension directory is usually located under:
On Microsoft Windows: %JAVA_HOME%\lib\ext
On UNIX: $JAVA_HOME/lib/ext
3 Echo the directory containing java.exe. For example:
C:\Program Files\Java\j2re1.6.2_13\bin
4 At the command prompt navigate to the directory containing the encryptstring script. For example:
cd D:\IntegrationToolkit\bin\
5 Create the options file using the appropriate steps for your operating system.
b Write a line setting the environment variable JAVA_HOME to the installation directory specified in step 3.
For example:
set JAVA_HOME=C:\Program Files\java\j2re1.6.2_13
For UNIX:
a Using VI or a similar text editing tool, create a new file called dbconnector_env.bat.
b Write a line setting the environment variable JAVA_HOME to the installation directory specified in step 3.
For example:
export JAVA_HOME=/usr/local/j2re1.6.2_13
7 Copy the encrypted string from the output to the password option in the appropriate properties file. For
more information about properties files, see Creating Properties Files on page 43.
The encrypted string in this example is prefixed with the string {3DES}, indicating the encryption algorithm
used is Triple DES. The DB Connector uses the entire encrypted string.
Note: The database password you enter appears on your screen. For security purposes, no unauthorized
person should watch this process. Ariba recommends that you close the command shell after performing the
encryption, and that you store only the encrypted string in the properties files.
If you choose to use an unencrypted password, make sure it does not start with the string {3DES}, or it will be
incorrectly construed as encrypted, and the job will fail when the decryption algorithm fails to generate a
valid string.
The properties files used by the DB Connector contain database passwords. These passwords, even though
encrypted, should be protected from view by unauthorized users. All files should be visible only to the
administrative user running the DB Connector, and should not be visible to other users or groups.
Properties files should have only read and write permissions for the account running the DB Connector, but
no permissions for any other accounts.
The database account used to run the DB Connector should be a restricted user that deals only with
integration. Allowing limited access will help prevent unintended changes to the data in your ERP system.
Likewise, data and query files contain sensitive business data that should not be exposed to unauthorized
users. Ensure that only the software consuming the files has access to them.
The following example shows how to configure the directories for a scenario in which you extract
transactional data from the ERP system database and upload transactional data (in this case, payment
proposals) to the ERP system database. In this example, the DB Connector is installed in the following
directory:
d:/IntegrationToolkit
The directory structure for the scenario might look like this:
d:/IntegrationToolkit
Config
OracleFinancials
Payment Proposals
Queries /* querydir directory */
Pending /* outputdir directory */
Logs /* logfile directory */
Payment Updates
Queries /* querydir directory */
Pending /* inputdir directory */
Archives /* archivedir directory */
Logs -->/* logFile directory */
querydir=d:/IntegrationToolkit/OracleFinancials/Transactionaldata/PaymentProposals/Queries
outputdir=d:/IntegrationToolkit/OracleFinancials/Transactionaldata/PaymentProposals/Pending
LogFile=d:/IntegrationToolkit/OracleFinancials/Transactionaldata/PaymentProposals/Logs/md.log
For more information about creating properties, see Creating Properties Files on page 43
Timestamp Conventions
The directories produced by the DB Connector in the outputdir data directory follow this naming
convention:
dbconnector<timestamp1>
Once the CSV files are moved by the Ariba Data Transfer Tool, the directory name becomes:
dbconnector<timestamp1>.<timestamp2>
For more information about how the DB Connector uses timestamps, see Incremental Queries on page 49.
For each file you create, you must save the file and store it in the config directory described in Creating
Directory Structures on page 42. You must create separate .properties files for payment proposals and
payment updates. For example:
cd d:/IntegrationToolkit
mkdir config
cd config
cp ../dbconnector.properties.sample dbc paymentproposals.properties
Next, you edit the properties file as described later in this section. When the DB Connector is run, the tool
retrieves the information it requires to execute the transaction.
To specify properties for importing transactional data into Ariba Network, use one of these files:
DBConnector\data-import\db2.properties
DBConnector\data-import\oracle.properties
Specifying Properties
The following tables describe the options in the .properties files. Note that the DB Connector supports only
forward slashes (/) in directory paths.
Property Description
querydir The directory where the SQL files are located. For example:
querydir=D:/IntegrationToolkit/dbc/db2_psoft/md/queries
or
querydir=D:/IntegrationToolkit/dbc/ora_sg/md/queries
For more information about creating SQL files, see Creating SQL Query Files on page 47.
outputdir The location of the CSV files created to hold the data extracted from the ERP system. For
example:
outputdir=D:/IntegrationToolkit/dbc/db2_psoft/md/datafiles/payment
proposals
or
outputdir=D:/IntegrationToolkit/dbc/ora_sg/md/datafiles/output/payment
proposals
inputdir The location where the CSV files to be imported into the ERP system are stored.
archivedir The location to which completed transaction directories and files should be moved. For
example:
archivedir=D:/IntegrationToolkit/dbc/db2_psoft/md/payment
proposals/finished
or
archivedir=D:/IntegrationToolkit/dbc/ora_sg/md/payment proposals/finished
databasedriver=com.ibm.db2.jcc.DB2Driver
or
databasedriver=oracle.jdbc.driver.OracleDriver
databasehost The JDBC information needed to connect to the database. The syntax for this option will
vary for each database type. Ensure that the value for this option matches the required
syntax for your database. For example:
databasehost=jdbc:db2://zodiac.yourcompany.com:50020/ad820dev
or
databasehost=jdbc:oracle:thin:@172.29.129.55:1521:VIS
Property Description
databaseusername The login ID for the database. For example:
databaseusername=jdoe
databasepassword The database password encrypted as described in Encrypting the Database Password on
page 40. For example:
databasepassword={3DES}oHX+gzt9Z40=
databasemapping The path to the file containing query syntax for the database. Syntax will vary for each
database, so each database type must have its own file. For example:
databasemapping=
D:/IntegrationToolkit/dbc/dbctool/DBSyntax.table.db2.properties
or
databasemapping=
D:/IntegrationToolkit/dbc/dbctool/DBSyntax.table.oracle.properties
csvencoding=UTF-8
logFile=D:/ariba/dbc/db2_psoft/db2-sg-md.log
or
logFile=D:/IntegrationToolkit/dbc/ora_sg/ora-sg-md.log
onemptylines Specifies how to deal with error reporting of empty lines in CSV files. Possible values
include SkipLine, WarnUser, and TreatAsException. For example:
onemptylines=SkipLine
onemptyfile Specifies how to deal with error reporting of empty CSV files. Possible values include
WarnUser, and AbortPull. For example:
onemptyfile=WarnUser
oninvaliddata Specifies how to deal with error reporting of invalid data. Possible values include SkipLine,
WarnUser, and TreatAsException. For example:
oninvaliddata=TreatAsException
smtp The name of the SMTP mail server to be used for email notifications. For example:
smtp=smtp.domain.com
to=user@domain.com
from The email address from which notifications are to be sent. For example:
from=db-connector@domain.com
Property Description
timestampquery The query used to retrieve the current time from the database. For example:
timestampquery=values(current timestamp)
or
timestampformat The format of the time returned by the query. This format must follow the
SimpleDateFormat as specified in the Java API. For example:
timestampformat=yyyy-MM-dd HH:mm:ss
fromDate The string to find in the query for the "from" timestamp. For example:
fromDate=_from
toDate The string to find in the query for the "to" timestamp. For example:
toDate=_to
smtp: The name of the SMTP mail server to be used for email notifications. For example:
smtp=smtp.domain.com
from: The email address from which notifications are to be sent. For example:
from=db-connector@domain.com
The query files you write must be stored in the querydir directory so that the DB Connector can find and
execute them.
Each file must contain one query formatted on a single line with no semicolon at the end of the line.
You can find sample Ariba Network payment integration query files for Oracle and PeopleSoft on Connect:
1 Go to connect.ariba.com and log in. If you do not have a User ID and Password for Connect, contact your
Ariba account executive.
2 Click either the On-Demand or the Enterprise Installed tab on the Home page, depending on your Ariba
solution.
3 Click the name of your Ariba solution (for example, Ariba Buyer , Ariba Network, or Ariba
Procure-to-Pay).
Sample Queries
The following example shows the partial query that extracts payment proposals from an Oracle system.
Note: This query is formatted for documentation purposes. In the actual query file, the query must be on a
single line:
The following query example inserts payment headers into Oracle. Again, note that in the actual query file
you create, the query would be on a single line.
When loading the data from a CSV file, you must specify exactly which column from the CSV file will be
inserted into which column in the database table. You make this specification using the special exclamation
mark delimited notation in the query. In the example above, the values in the InvoiceNumber column in the
CSV file, referred to as !InvoiceNumber! in the query, will be inserted into the invoice_num column in the
ERP system database table.
If you use multiple ERP systems to send payment proposals, you must specify the System ID of the ERP
system in the ERPID parameter. The Ariba Network identifies your procurement application using the
system ID.
You can also extend the mapping syntax files according to your needs. For example, you could parameterize
queries to provide either a range of dates for data pull, or the provide account layout parameters for Oracle.
To use abstraction parameters in your query files, enclose the parameters between @ signs.
Alternatively, you could extend the DBSyntax.table.oracle.properties file with the following parameter:
@TimeQuery@
Depending on how you use the syntax mapping file, that is, for SQL syntax abstraction or to specify query
parameters, you can store the file in the config directory or in the query directory itself. Regardless of where
you store it, the databasemapping parameter in the properties file must point to the fully qualified path of the
syntax mapping file.
In the query examples shown earlier in this chapter, column aliases were used to map the Oracle table names
to the CSV column names. Oracle will truncate the alias name to 30 characters if you specify anything over
that length. To work around this limitation, add a property file for each query. Each property file will contain
the mapping between the Oracle column name and the CSV column names.
For example, a query called CurrentDate.query that returns a CSV column name exceeding the Oracle limit
could be abstracted in a file called CurrentDate.properties as:
CURRENTDATE=MyVeryLongCSVColumnName
Note that the database column name in the mapping file is specified in capital letters to match the column
name shown in the database result set.
<installation_directory>/sample-bin
To run the DB Connector, you must change the variables in the script to point to the appropriate locations,
save the script, and then run the script.
Incremental Queries
The DB Connector pulls the delta, and only the delta from the last transactional data pull and loads it into the
Ariba Network. This process prevents the sending of duplicate information to the Ariba Network. To
establish when the last pull occurred, the DB Connector stores a timestamp file each time it runs a query.
This file, timestamp.txt, is saved in each query directory, and contains the full timestamp (in Pacific Time)
of the last query execution.
Incremental extract is always enabled. A 30 minute offset is applied to the database time to avoid pulling
incomplete or inconsistent data.
Any query can become incremental by adding a where clause using the tags !fromDate! and !toDate!. Note
that incremental queries with arbitrary dates specified on the command line are not supported.
Run the query again and check to see that the file outputdir/CurrentDate.csv is created.
You can create pre- and post-processing SQL files that contain several statements to run on the data set. In
the case of post-processing, these queries run after all the CSV loading queries have completed.
Pre- and post-processing queries should be contained in files called preprocessing.sql and
postprocessing.sql. These files must be located in the query directory, along with all the other queries for a
particular event group.
Error Handling
The DB Connector returns the following codes to indicate the success or failure of a particular query:
1 A local failure occurred on the client side. The problem could be file permissions. Check the log file
for more information, and check the file permissions before retrying.
2 A remote temporary failure occurred. This can be caused by a command issued on the server side.
Either the connection is unavailable or there is another problem, such as the server cannot handle the
request at the moment. Check the log file for more information before retrying.
3 A remote permanent failure occurred. You could see this error code if you specified the database
password or an internal server failure occurred. Check the log file for more information.
Data is always made available atomically, that is, all SQL files generated successfully are made available. In
the case of a rollback, no files are made available.
If you have configured email notification as described in Configuring Email Notification on page 46, an
email will be sent containing an explicit error message, resolution notes, and the location of the relevant
properties files and log files.
There are two programs that pull data and one program that pushes data:
Use the Ariba SAP integration programs ZARIBA_AN_PAYMENT_PROSPOSAL_CSV and
ZARIBA_SSP_REMITTANCE_PULL to pull payment proposals and remittance advices from SAP. Then use the
Ariba Data Transfer Tool to upload them to the Ariba Network.
Use the Ariba SAP integration program ZARIBA_AN_EARLY_PAYMENT_CSV to push payment proposals
containing early payment requests to SAP. The Ariba Data Transfer Tool downloads these payment
proposals from the Ariba Network and saves them on your SAP server. You would use this information if
your organization uses Discount Management (formerly named Dynamic Discounting), where you or
your suppliers can request early payment in exchange for discounts.
For information on installing the Ariba SAP integration programs, see Downloading and Installing the SAP
Transports on page 13.
Prerequisite
You must maintain values for the configuration parameters in the ZARIBA_PARAM_TAB to ensure that payment
proposals are successfully pulled from the SAP system.
Earlier the document type RE was hard coded and as a result payment proposals were not getting pulled for
document types other than RE. Now, no document type is hard coded. You must now use ZARIBA_PARAM_TAB
table to store relevant document types that can be used in where condition of SELECT statements to retrieve
required invoice documents.
In addition, earlier in the SAP system, accounting document numbner (BELNR) was key field and was sent
as the output invoice document number. To send the document reference number (XBLNR) as the output key
field instead of BELNR, a new parameter is INVOICE_DOC_OPTION is added to ZARIBA_PARAM_TAB because
XBLNR is a non mandatory field. You must set the INVOICE_DOC_OPTION to XBLNR to ensure that XBLNR is
returned as the output invoice document number. The following table illustrates configuration parameters
and their corresponding values:
INVOICE_DOC_TYPE RE I EQ RE
INVOICE_DOC_TYPE_PART KZ I EQ KZ
IAL
If you maintain single value for a parameter, the FIELDNAME field can be left blank. However, if you want to
maintain multiple values for a parameter, you must specify a value for the FIELDNAME field for each new
parameter value to ensure a unique record is formed.
Note: In case INVOICE_DOC_OPTION is set to XBLNR and if XBLNR values for invoice documents are missing in the
SAP system, then the program does not return any records.
Note: Payment proposals are loaded incrementally. That is, only the data that changed since the last time the
program ran is loaded.
2 In SAP, run the program ZARIBA_AN_PAYMENT_PROPOSAL_CSV using SAP transaction code SE38, which starts
the SAP user interface for this function module.
3 Specify the directory in which to create the CSV files. This directory should already exist. For example
c:\paymentproposals\InDir. Be sure to specify the same directory in the Ariba Data Transfer Tool options
file. The directory should match %topDir%\%inDir%.
4 Specify the directory separator character slash or backslash (/ for UNIX or \ for Microsoft Windows).
5 Specify the character encoding to use in the CSV files. Use the encoding that corresponds to the data you
are supplying from SAP. Ariba supports any of the encodings listed for the Java.io API at
http://download.oracle.com/javase/6/docs/technotes/guides//intl/encoding.doc.html
Note: To pull payment proposals from a specified date for the initial run, use transaction SM30. Specify
the table ZARIBA_PPRDTTIME and click Maintain. Enter the start date and time as YYYYMMDDHHMMSS.
When ZARIBA_AN_PAYMENT_PROPOSAL_CSV runs, it stores the run date and time in this table and uses it for the
next run.
Schedule the Ariba Data Transfer Tool to run event PaymentRequest to upload the CSV files to the
Ariba Network each time ZARIBA_AN_PAYMENT_PROPOSAL_CSV has written them.
Make sure the Ariba Data Transfer Tool input directory specification matches the directory where you
created the CSV files, as noted in step 2.
8 The Ariba Data Transfer Tool picks up the CSV file and uploads it in batch mode to the Ariba Network.
9 The Ariba Network converts each payment proposal into a cXML PaymentProposalRequest document.
Note: In the Ariba Data Transfer Tool options file, leave the default value of processing for the filterPrefix
parameter, so that the Ariba Data Transfer Tool ignores files in this directory. The SAP integration program
uses a batch directory with the prefix processing as it writes the files. When it is done writing the files, it
renames the directory to remove the prefix so that the Ariba Data Transfer Tool can find the files. In this way,
the Ariba Data Transfer Tool is assured that it receives complete files.
The directories are created and renamed using the ZSSDIRCREATE and ZSSREN commands mentioned in
Running Directory Management Commands on page 14.
This function module pulls remittance advices for payments created for the following types of transactions:
Invoices
Credit and debit memos
Future-dated payments
Voided payments, including voided checks and reverse payments
The input for ZARIBA_SSP_REMITTANCE_PULL includes the directory where the CSV files will be written, the
path separator character, and the character encoding to use. Before you run ZARIBA_SSP_REMITTANCE_PULL,
you can also filter data based on newly added following fields:
Vendor
Allows you to filter data based on the range of vendors that you specify.
Company Code
Allows you to filter data based on the range of conpany codes that you specify.
In addition to the above two fields, a new check box called Pick Bank Detail is added.
If you select this check box, banking information for each row is downloaded as part of the downloaded
CSV files. When you upload data to Ariba Network, the banking information, which is downloaded in the
CSV files, is not mandatory,
4 Specify the character encoding to use in the generated CSV files. Use the encoding that corresponds to the
data you are supplying from SAP. Ariba supports any of the encodings listed for the Java.io API at
http://download.oracle.com/javase/6/docs/technotes/guides//intl/encoding.doc.html
5 To schedule ZARIBA_SSP_REMITTANCE_PULL to run at regular intervals, save the function module input as a
variant that you can specify to run as a job. Schedule the job using SAP transaction SE36. For more
information about this transaction or scheduling SAP function modules, see your SAP documentation.
Note: To pull remittance advices from a specified date for the initial run, use transaction SM30. Specify
the table ZSSP_REM_DATETIM and click Maintain. Enter the start date and time as YYYYMMDDHHMMSS. When
ZARIBA_SSP_REMITTANCE_PULL runs, it stores the run date and time in this table and uses it for the next run.
Schedule the Ariba Data Transfer Tool to run event Import Remittance Data to upload the CSV files
to the Ariba Network each time ZARIBA_SSP_REMITTANCE_PULL has written them.
Make sure the Ariba Data Transfer Tool input directory specification matches the directory where you
created the CSV files, as noted in step 2.
7 The Ariba Data Transfer Tool picks up the CSV files and uploads them in batch mode to the Ariba
Network.
8 The Ariba Network converts each remittance advice into a cXML PaymentRemittanceRequest document.
Note: In the Ariba Data Transfer Tool options file, leave the default value of processing for the filterPrefix
parameter, so that the Ariba Data Transfer Tool ignores files in this directory. The SAP integration program
uses a batch directory with the prefix processing as it writes the files. When it is done writing the files, it
renames the directory to remove the prefix so that the Ariba Data Transfer Tool can find the files. In this way,
the Ariba Data Transfer Tool is assured that it receives complete files.
The directories are created and renamed using the ZSSDIRCREATE and ZSSREN commands mentioned in
Running Directory Management Commands on page 14.
Additional Considerations
SAP does not support pulling remittance advices in the following scenarios:
The payment contains withholding tax
The payment has been reset
The payment is an intercompany payment
The payment is for an invoice created for an expense report
The payment is a down payment or a residual payment
When you use the Check Payment method, the remittance advice can be pulled only after the check has
been printed.
If you make a payment to a special general ledger (G/L) account, a remittance advice cannot be pulled.
Common special G/L accounts might include:
Down payments
Bills of exchange
Guarantees
Security deposits
Individual value adjustments
Amortization
Interest payable
SAP remittance advices for manual payments (transaction F-58) contain blank BATCHID fields. As a result,
manual payments cannot be uploaded to Ariba Network because it expects a value for this field.
SAP remittance advices for manual payment might not include the payment method by default, because it
is not a required field in SAP.
SAP remittance advices for cancel payment might not include the payment method by default, because it
is not a required field in SAP.
Ariba Network requires you to send specific values for the payments that failed or canceled in the
Remittance.csv file. SAP remittance advices for cancel payment must include the values as 00 (if Paid) or
01 (if Canceled) in the STAT column.
For manual payment, if you print the check after ZARIBA_SSP_REMITTANCE_PULL runs, then
ZARIBA_SSP_REMITTANCE_PULL pulls the check number and uploads it to the Ariba Network during the next
run, which updates the payment number on the Ariba Network. However, the payment number is not sent
to the Ariba Network supplier.
ZARIBA_SSP_REMITTANCE_PULL pulls payments as credit-line items after subsequent payments are made, not
at the time they are created.
To pull $0 payments from SAP, you need to maintain a parameter value in ZARIBTVARV configurable table
as follows:
The Ariba SAP Integration programs are intended to serve as accelerators to help your IT department more
rapidly build business integration between SAP and Ariba. If your business processes require the inclusion
of additional data that is not supported by these programs by default, work with your IT department to add
the appropriate logic to them.
You can also add new document types based on your requirement. To add a new document type, you need to
add an entry in the ZARIBTVARV configurable table.
2 Open the Maintain Table Views initial screen, enter ZARIBTVARV in the Table/View field, and click
Maintain.
3 Choose Edit > New Entries, or click the New Entries button.
6 In the Selection Value fields, enter the document types that you want to add.
Note: You can also specify a range between the two selection value fields.
Before running early payment request pushes, ensure that the following prerequisites are met:
Create the following directories to store the early payment requests from the Ariba Network, the
processed data, and early payment requests that contain errors:
c:\EarlyPayment\incoming\
c:\EarlyPayment\processed\
c:\EarlyPayment\error\
Specify the CSV file location in the Ariba Data Transfer Tool options file. Configure the options file as
follows:
Use the Ariba Data Transfer Tool event PaymentRequestDownload.
The downloadDir option must include \PP* at the end.
The downloadDir + filePrefix options.
4 Specify the character encoding to use in the generated CSV files. Use the encoding that corresponds to the
data you are supplying from SAP. Ariba supports any of the encodings listed for the Java.io API at
http://download.oracle.com/javase/6/docs/technotes/guides//intl/encoding.doc.html
5 To schedule ZARIBA_AN_EARLY_PAYMENT_CSV to run at regular intervals, save the program input as a variant
that you can specify to run as a job. Schedule this program using SAP transaction SE36. For more
information about this transaction or scheduling SAP programs, see your SAP documentation.
Program Structure
The following diagram shows how payment proposals containing early payment requests are processed:
Z_ARIBA_ASN_READ_EARLY_PAYMENT
Reads CSV data to internal tables of
structure
ZXTARIBA_PAYMENTPROPOSAL_CSV
Note: A new input field "File Prefix Name" for the program Z_ARIBA_ASN_READ_EARLY_PAYMENT is provided
where the customer can enter the folder name (like "payment*") which will be in sync with the folder given
as a prefix in PaymentDownload.bat. By default this value is "PP*".
Scheduling
Schedule the Ariba Data Transfer Tool to run frequently enough to keep up with new transactions. Use
Microsoft Windows Scheduled Tasks, UNIX chron, or a third-party scheduler. The frequency you use
depends on the nature of your business.
Schedule ZARIBA_AN_EARLY_PAYMENT_CSV to pick up new CSV files whenever they arrive, depending on the
nature of your business.
Error Handling
Payment proposals containing early payment requests are read from the parent directory specified as a
parameter to the ZARIBA_AN_EARLY_PAYMENT_CSV program, which expects this input directory to contain
subdirectories named incoming, processed, and error. Additionally, these folders have another subdirectory
named PP*, where * represents the date and time stamp, which stores the payment proposal containing early
payment requests.
The input parent directory should match the %downloadDir% directory that you specify in the Ariba Data
Transfer Tool options file.
For example, if the folder name for %downloadDir% is C:\EarlyPayment, the function module expects the
following three directories and subdirectories:
C:\EarlyPayment\error\PP*
C:\EarlyPayment\incoming\PP*
C:\EarlyPayment\processed\PP*
The data is read from the incoming folder. When processing is complete, the program moves the folder
containing the early payment CSV files, PaymentUpdate.csv files to the processed folder.
Payment proposals containing early payment requests that result in an error are moved to the error folder.
For example, if payment proposal files were not created for some of the records in PaymentUpdate.csv file
then the error records are stored in the error folder.
The charset of these files must have UTF-8 encoding and must contain all the columns. Ensure that all rows
in the CSV file contain the same number of columns, and that the values are in the sequence specified in the
example payment transactional data CSV file.
Required
Field Description by AN
ProposalID The ID of the payment proposal. Required
SupplierPrivateID The private ID for the supplier specified within the ERP system. Required
SupplierStreet1 The 1st line of the street name in the suppliers mailing address. Optional
SupplierStreet2 The 2nd line of the street name in the suppliers mailing address. Optional
SupplierStreet3 The 3rd line of the street name in the suppliers mailing address. Optional
Required
Field Description by AN
SupplierState The state in the suppliers mailing address. Optional
ERPID If you have more than one ERP system, define an application system ID to Optional
uniquely identify it on the Ariba Network.
ImmediatePay If the value of Immediate Pay is set to yes, this transaction is eligible for Optional
early payment.
EarlyPaymentDiscount This value is considered while calculating the discount for early payment. Optional
InvoiceDate The date of the invoice. Optional
Operation This field can store any of the following values: Optional
new: Creates a new scheduled payment
update: An update to an existing scheduled payment. This updated
payment is identified by the ProposalID in the CSV file.
delete: Cancels an existing scheduled payment. The existing scheduled
payment is identified by the ProposalID in the CSV file. All optional
attributes and sub-elements for the PaymentproposalRequest are ignored.
hold: Puts an existing scheduled payment on hold. The existing scheduled
payment is identified by the ProposalID in the CSV file. All optional
attributes and sub-elements for the PaymentproposalRequest are ignored.
The following example shows a payment proposal CSV file exported from an ERP:
UTF8
ProposalID,NetAmount,NetAmountCurrency,DiscountAmount,DiscountAmountCurrency,,PaymentMethod,Priva
te ID,SupplierName,SupplierEmail,SupplierStreet1,,,SupplierCity,
SupplierCountry,SupplierPostalCode,,InvoiceID,OrderID,PaymentDate, ImmediatePay,OrganizationUnit,
EarlyPaymentDiscount, InvoiceDate, Operation
CSVPPR31277,100,USD,20,USD,,ACH,abc123,Test Supplier,jon@acme.com,1
FirstStreet,,,Sunnyvale,CA,US,94555,,INV1234,DO234,2011-10-27T15:46:36-07:00,no,1002,,2010-09-3,
new
For SAP, the field names contain all capital letters and no spaces; for example: PROPOSALID,
NETAMOUNT, and NETAMOUNTCURRENCY. Also, the field name for the supplier private ID is
PRIVATEID.
These files must have UTF-8 character encoding and they must contain all the columns. Ensure that all rows
in the CSV file contain the same number of columns and that the values are in the sequence specified in the
example remittance file.
Note: Ariba Network supports uploading payment batches not exceeding 5000 payments for less than 20,000
invoices. You must ensure that the remittance advice files do not exceed this limit.
The formats of these files are different, depending on the ERP system your organization uses:
For Generic, see Remittance Advice for Generic on page 63
For PeopleSoft, see Remittance Advice for PeopleSoft on page 69
For Oracle, see Remittance Advice for Oracle on page 73
For SAP, see Remittance Advice for SAP on page 79
Required
Field Description By AN
AdjustmentAmount Leave blank; otherwise, specify sum of adjustments included in Optional
RemittanceDetails.csv. Displays in summary section of
remittance advice.
Required
Field Description By AN
BuyerBankName Buyer's bank name. Displays as payer in the remittance advice only Optional
if full BuyerRemitFrom address passed; otherwise, the buyers Ariba
Network profile is used.
BuyerRemitFromAddressC Buyer's remit-from city. Displays as payer in the remittance advice Optional
ity only if full BuyerRemitFrom address passed; otherwise, the buyers
Ariba Network profile is used.
BuyerRemitFromAddressC Buyer's remit-from country. Displays as payer in the remittance Optional
ountry advice only if full BuyerRemitFrom address passed; otherwise, the
buyers Ariba Network profile is used.
DiscountAmountDefaultC Same currency code as that of payment. Displays in the Discount Optional
urrency Applied column of the remittance advice in the detail section.
Ariba Network processes the payments with the values stored in the
ExternalProcessedState column.
GrossAmount Gross amount of payment. Displays in the summary section of the Optional
remittance advice.
Required
Field Description By AN
LookupID Sequential number assigned by buyer in extract logic for each new Required
payment/remittance row in this file. This value must match the
LookupID column in the RemittanceDetails.csv file for the
appropriate remittance to be selected.
PayeeBankAccType Type of bank account (for example, checking) used by the payee. Optional
PayerBankAccType Type of bank account (for example, checking) used for payment. Optional
PaymentDate Payment Date. For ACH payments this must be the expected Required
settlement date into the supplier's bank account, which is typically
one business day after transmission to the buyer's bank. Customers
should leverage their ERP's native capability to determine the
appropriate payment date for ACH. If the ERP system lacks this
capability, the Ariba Network will automatically correct this value.
Should be formatted yyyymmdd. Displays in remittance advice.
PaymentMethodType ERP-defined payment method code. Must match the Payment Required
Method Identifier customer configured in Configure Payment
Integration Toolkit > Payment Method Mapping.
PaymentNumber Payment number generated by the ERP. Displays in the remittance Required
advice.
SupplierBankAccountID Supplier's bank account number; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account
or Use remittance information in the payment in Payment
Account Registration > ACH Payment Proposal Rules.
SupplierBankAccountIDT Must be bankAccountID for ACH; required for ACH payments to Optional
ype private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account
or Use remittance information in the payment in Payment
Account Registration > ACH Payment Proposal Rules.
SupplierBankAccountTyp Must be checking or savings; required for ACH payments to Optional
e private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account
or Use remittance information in the payment in Payment
Account Registration > ACH Payment Proposal Rules.
SupplierBankID ABA number of supplier's bank; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account
or Use remittance information in the payment in Payment
Account Registration > ACH Payment Proposal Rules.
Required
Field Description By AN
SupplierBankIDType Must be abaRoutingNumber; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account
or Use remittance information in the payment in Payment
Account Registration > ACH Payment Proposal Rules.
SupplierBankName Leave blank; otherwise, optionally include if bank account Optional
information is maintained in your ERP system and the suppliers
bank is known.
SupplierLocation The unique internal identifier of the supplier location to which the Required
payment is made. The Vendor ID from buyer's ERP system must be
included in this field.
SupplierLocationContac The ID for the contact person at the given supplier location. This Optional
tID value must match the contact ID defined for the supplier location in
SupplierLocation.csv.
The following is an example of a Generic Remittance.csv file exported from an ERP system:
UTF8
LookupID,SupplierLocation,SupplierLocationContactID,PaymentNumber,ExternalProcessedState,GrossAmo
untDefaultCurrency,GrossAmount,DiscountAmountDefaultCurrency,DiscountAmount,AdjustmentAmountDefau
ltCurrency,AdjustmentAmount,NetAmountDefaultCurrency,NetAmount,CreatedDate,PaymentDate,CanceledDa
te,PaymentMethodType,BuyerRemitFromAddressName,BuyerRemitFromAddressStreet,BuyerRemitFromAddressC
ity,BuyerRemitFromAddressState,BuyerRemitFromAddressPostalCode,BuyerRemitFromAddressCountry,Buyer
BankName,BuyerBankID,BuyerBankIDType,BuyerBankAccountID,BuyerBankAccountIDType,BuyerBankAccountTy
pe,SupplierRemitToAddressName,SupplierRemitToAddressStreet,SupplierRemitToAddressCity,SupplierRem
itToAddressState,SupplierRemitToAddressPostalCode,SupplierRemitToAddressCountry,SupplierBankName,
SupplierBankID,SupplierBankIDType,SupplierBankAccountID,SupplierBankAccountIDType,SupplierBankAcc
ountType,BATCH_ID,BATCH_SIZE,BATCH_TOTAL
877587,14,63,63001,,,,,,,,USD,54.75,,20091016,,ACH2,,,,,,,,6784322353,abaRoutingNumber,98765432,b
ankAccountID,,,,,,,,CitiBank,121000358,abaRoutingNumber,6376900320,bankAccountID,checking,BatchNu
mber20091015a,1,54.75
Required
Field Description by AN
AdjustmentAmount Must be blank. Typically not used. Displays in the Adjustment column of Optional
the remittance advice in the detail section.
AdjustmentAmountDefaultC Must be blank. Typically not used. Same currency code as that of payment. Optional
urrency Displays in the Adjustment column of the remittance advice in the detail
section.
DiscountAmount Early pay discount amount. For example, on a $100 invoice with payment Optional
terms of 2% 10 net 30, this is $2.
DiscountAmountDefaultCur Same currency code as that of payment. Displays in the Discount Applied Optional
rency column of the remittance advice in the detail section.
ExternalPayableReference The invoice reference number (customer defined voucher or internal Optional
Number document number that represents the actual supplier invoice) from the ERP
system. Not used in Ariba Network. Ariba Network uses the
SupplierPayableReferenceNumber to match invoices to remittance advices.
ExternalSecondaryPayable The purchase order reference number from the ERP system. For non-PO Optional
ReferenceNumber invoices, this must be left blank.
LookupID Sequential number assigned by the buyer for each new payment/remittance Required
row in this file. This value must match the LookupID column in the
Remittance.csv file for the appropriate remittance to be selected.
SupplierPayableReference The invoice number known to the supplier. Displays in the "Payable Required
Number Reference #" in the remittance advice.
UTF8
LookupID,NumberInCollection,PayableDate,PayableReferenceNumber,PayableType,ExternalPayableReferen
ceNumber,SupplierPayableReferenceNumber,SecondaryPayableReferenceNumber,SecondaryPayableType,Exte
rnalSecondaryPayableReferenceNumber,GrossAmountDefaultCurrency,GrossAmount,DiscountAmountDefaultC
urrency,DiscountAmount,AdjustmentAmountDefaultCurrency,AdjustmentAmount,NetAmountDefaultCurrency,
NetAmount
877587,,,,1,,INV-AC1PCO17,,2,,,,,,,,USD,54.75
The mapping tables are important, because field names in the Ariba Network user interface (UI) are different
from field names in the CSV files. The tables can also help your IT department better understand field usage
and how data is shared with suppliers.
Header-level fields in the sample remittance advice above are mapped to fields in the Remittance.csv file as
follows:
5 Payer BuyerRemitFromAddress<City/Country/Name/PostalCode/State/Street>
6 Payee SupplierRemitToAddress<City/Country/Name/PostalCode/State/Street>
22 Adjustment <AdjustmentAmount><AdjustmentAmountDefaultCurrency>
Line-level fields in the sample remittance advice above are mapped to fields in the RemittanceDetails.csv
file as follows:
18 Adjustment <AdjustmentAmount><AdjustmentAmountDefaultCurrency>
Required
Field Description by AN
BatchID ERP-assigned payment batch number. Must be unique for the Ariba Required
Network to load file.
BatchSize Number of payments. Must be accurate for the Ariba Network to Required
load file.
BatchAmount Sum of all payments amounts. Must be accurate for the Ariba Required
Network to load file.
BuyerBankAccountID Buyer's bank account number. Displays on the remittance advice in Required for Ariba
masked format. Network ACH
BuyerBankAccountIDType Must be bankAccountID for ACH; otherwise leave blank. Required for Ariba
Network ACH
BuyerBankID ABA number of buyers bank. Displays on the remittance advice. Required for Ariba
Network ACH
Required
Field Description by AN
BuyerBankIDType Must be abaRoutingNumber. Required for Ariba
Network ACH
BuyerBankName Buyer's bank name. Displays as payer in the remittance advice only Optional
if full BuyerRemitFrom address is passed; otherwise, the buyers
Ariba Network profile is used.
BuyerRemitFromAddressC Buyer's remit-from city. Displays as payer in the remittance advice Optional
ity only if full BuyerRemitFrom address is passed; otherwise, the
buyers Ariba Network profile is used.
BuyerRemitFromAddressP Buyer's remit-from postal code. Displays as payer in the remittance Optional
ostalCode advice only if full BuyerRemitFrom address is passed; otherwise,
the buyers Ariba Network profile is used.
BuyerRemitFromAddressS Buyer's remit-from state. Displays as payer in the remittance advice Optional
tate only if full BuyerRemitFrom address is passed; otherwise, the
buyers Ariba Network profile is used.
LookupID Sequential number assigned by buyer in extract logic for each new Required
payment/remittance row in this file. This value must match the
LookupID column in the RemittanceDetails.csv file to associate
the appropriate link.
NetAmount Net Amount of payment. Displays in the summary section of the Required
remittance advice.
NetAmountDefaultCurren Currency code of payment. Displays in the summary section of the Required
cy remittance advice.
PaymentDate Payment Date. For ACH payments this must be the expected Required
settlement date into the supplier's bank account, which is typically
one business day after transmission to the buyer's bank. Buyers
should leverage their ERP's native capability to determine the
appropriate payment date for ACH. If the ERP system lacks this
capability, the Ariba Network will automatically correct this
value. Should be formatted yyyy-mm-dd. Displays in the remittance
advice.
PaymentMethodType ERP-defined payment method code. Must match the Payment Required
Method Identifier the buyer has configured in the Configure
Payment Integration Toolkit > Payment Method Mapping page.
Required
Field Description by AN
PaymentNumber Payment number generated by ERP. Displays in the remittance Required
advice.
SupplierBankAccountID Supplier's bank account number; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account
or Use remittance information in the payment in the Payment
Account Registration > ACH Payment Proposal Rules page.
SupplierBankID ABA number of supplier's bank; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account
or Use remittance information in the payment in the Payment
Account Registration > ACH Payment Proposal Rules page.
SupplierLocation The unique internal identifier of the supplier location to which the Required
payment is made. Use the Vendor ID from ERP system.
SupplierLocationContac The ID for the contact person at the given supplier location. This Optional
tID value must match the contact ID defined for the supplier location in
SupplierLocation.csv.
SupplierRemitToAddress Suppliers remit-to city. Displays as Payee's Postal Address on the Optional
City remittance advice.
SupplierRemitToAddress Suppliers remit -o name. Displays as Payee's Postal Address on the Optional
Name remittance advice.
SupplierRemitToAddress Suppliers remit-to postal code. Displays as Payee's Postal Address Optional
PostalCode on the remittance advice.
Required
Field Description by AN
SupplierRemitToAddress Suppliers remit-to state. Displays as Payee's Postal Address on the Optional
State remittance advice.
SupplierRemitToAddress Suppliers remit-to street. Displays as Payee's Postal Address on the Optional
Street remittance advice.
UTF8
LookupID,ExternalProcessedState,SupplierLocation,SupplierLocationContactID,SupplierLocationSetId,
PaymentNumber,NetAmountDefaultCurrency,NetAmount,CreatedDate,PaymentDate,CanceledDate,PaymentMeth
odType,BuyerRemitFromAddressName,BuyerRemitFromAddressStreet,BuyerRemitFromAddressCity,BuyerRemit
FromAddressState,BuyerRemitFromAddressPostalCode,BuyerRemitFromAddressCountry,BuyerBankName,Buyer
BankID,BuyerBankIDType,BuyerBankAccountID,BuyerBankAccountIDType,BuyerBankAccountType,SupplierRem
itToAddressName,SupplierRemitToAddressStreet,SupplierRemitToAddressCity,SupplierRemitToAddressSta
te,SupplierRemitToAddressPostalCode,SupplierRemitToAddressCountry,SupplierBankName,SupplierBankID
,SupplierBankIDType,SupplierBankAccountID,SupplierBankAccountIDType,SupplierBankAccountType,Batch
ID,BatchSize,BatchAmount
1211200801,,SHARE:USA0000006:1,USA0000006:1:1,SHARE,42108,USD,1.35,,2009-10-23,,ACH2,,,,,,,,91532
2780,abaRoutingNumber,937403848,bankAccountID,,JCN,3450 Industrial Park Road, Austin,
Texas,78701,USA,Wells Fargo Bank,915322780,abaRoutingNumber,73007554,bankAccountID,savings,
BatchPSFT20091022G,1,1.35
Required
Field Description by AN
AdjustmentAmount Leave blank. Typically not used. Displays in the Adjustment column of Optional
the remittance advice in the detail section.
AdjustmentAmtDefaultCurr Leave blank. Typically not used. Same currency code as that of payment. Optional
ency Displays in the Adjustment column of the remittance advice in the detail
section.
DiscountAmtDefaultCurren Same currency code as that of payment. Displays in the Discount Applied Optional
cy column of the remittance advice in the detail section.
ExternalPayableReference The invoice reference number (customer defined voucher or internal Optional
Number document number that represents the actual supplier invoice) from the
ERP system. Not used in Ariba Network. Ariba Network uses the
SupplierPayableReferenceNumber to match invoices to remittance
advices.
LookupID Sequential number assigned by customer in extract routine for each new Required
payment/remittance row in this file. This value must match the LookupID
column in the Remittance.csv file to associate the appropriate link.
Required
Field Description by AN
PayableDate Must be blank. Optional
SupplierPayableReference The invoice number known to the supplier. Displays in the remittance Required
Number advice in the Payable Reference #.
UTF8
LookupID,NumberInCollection,PayableDate,PayableReferenceNumber,PayableType,ExternalPayableReferen
ceNumber,SupplierPayableReferenceNumber,SecondaryPayableReferenceNumber,SecondaryPayableType,Gros
sAmountDefaultCurrency,GrossAmount,DiscountAmtDefaultCurrency,AdjustmentAmtDefaultCurrency,Adjust
mentAmount,NetAmountDefaultCurrency,NetAmount
1211200801,,,,1,,INV0421_4,,2,,,,,,USD,1.35
A remittance advice for PeopleSoft looks identical to the sample remittance advice shown for Generic; see
Sample Remittance Advice on page 68 for a sample remittance advice for PeopleSoft.
Required
Field Description by AN
AdjustmentAmount Leave blank; otherwise, sum of adjustments included in Optional
RemittanceDetails.csv. Displays in the summary section of the
remittance advice.
BATCH_ID ERP assigned payment batch number. Must be unique for the Ariba Required
Network to load file.
BATCH_SIZE Number of payments. Must be accurate for the Ariba Network to Required
load file.
BATCH_TOTAL Sum of all payments amounts. Must be accurate for the Ariba Required
Network to load file.
BuyerBankAccountID Buyer's bank account number. Displays on the remittance advice in Required for Ariba
masked format. Network ACH
Required
Field Description by AN
BuyerBankAccountIDType Must be bankAccountID for ACH; otherwise leave blank. Required for Ariba
Network ACH
BuyerBankID ABA # of buyer's bank. Displays in the remittance advice. Required for Ariba
Network ACH
BuyerBankIDType Must be abaRoutingNumber. Required for Ariba
Network ACH
BuyerBankName Buyer's bank name. Displays as payer in the remittance advice only Optional
if full BuyerRemitFrom address is passed; otherwise, the buyers
Ariba Network profile is used.
BuyerRemitFromAddressP Buyer's remit-from postal code. Displays as payer in the remittance Optional
ostalCode advice only if full BuyerRemitFrom address is passed; otherwise, the
buyers Ariba Network profile is used.
BuyerRemitFromAddressC Buyer's remit-from city. Displays as payer in the remittance advice Optional
ity only if full BuyerRemitFrom address is passed; otherwise, the
buyers Ariba Network profile is used.
BuyerRemitFromAddressN Buyer's remit-from name. Displays as payer in the remittance advice Optional
ame only if full BuyerRemitFrom address is passed; otherwise, the
buyers Ariba Network profile is used.
BuyerRemitFromAddressS Buyer's remit-from state. Displays as payer in the remittance advice Optional
tate only if full BuyerRemitFrom address is passed; otherwise, the
buyers Ariba Network profile is used.
BuyerRemitFromAddressS Buyer's remit-from street. Displays as payer in the remittance advice Optional
treet only if full BuyerRemitFrom address is passed; otherwise, the
buyers Ariba Network profile is used.
DiscountAmountDefaultC Same currency code as that of payment. Displays in the Discount Optional
urrency Applied column of the remittance advice in the detail section.
GrossAmount Gross amount of payment. Displays in the summary section of the Optional
remittance advice.
GrossAmountDefaultCurr Currency code of payment. Displays in the summary section of the Optional
ency remittance advice.
Required
Field Description by AN
LookupID Sequential number assigned by buyer in extract logic for each new Required
payment/remittance row in this file. This value must match the
LookupID column in the RemittanceDetails.csv file to associate
the appropriate link.
NetAmount Net amount of payment. Displays in the summary section of the Required
remittance advice.
NetAmountDefaultCurren Currency code of payment. Displays in the summary section of the Required
cy remittance advice.
PaymentDate Payment date. For ACH payments this must be the expected Required
settlement date into the supplier's bank account, which is typically
one business day after transmission to the buyer's bank. Customers
should leverage their ERP's native capability to determine the
appropriate payment date for ACH. If the ERP system lacks this
capability, the Ariba Network will automatically correct this value.
Should be formatted mm/dd/yyyy h:mm. Displays in the remittance
advice.
PaymentMethodType ERP defined payment method code. Must match the Payment Required
Method Identifier customer has configured in the Configure
Payment Integration Toolkit > Payment Method Mapping page.
PaymentNumber Payment number generated by ERP. Displays in the remittance Required
advice.
PurchasingUnit Must be blank. Optional
SUPPLIER_BANK_BRANCH_N Must be blank. Optional
AME
SupplierBankAccountID Supplier's bank account number; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account or
Use remittance information in the payment in the Payment
Account Registration > ACH Payment Proposal Rules page.
SupplierBankAccountIDT Must be bankAccountID; required for ACH payments to private Optional
ype suppliers; required if buyer has configured Reject payment if
remittance information does not match that in supplier account or
Use remittance information in the payment in the Payment
Account Registration > ACH Payment Proposal Rules page.
SupplierBankAccountTyp Must be checking or savings; required for ACH payments to Optional
e private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account or
Use remittance information in the payment in the Payment
Account Registration > ACH Payment Proposal Rules page.
Required
Field Description by AN
SupplierBankID ABA number of supplier's bank; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account or
Use remittance information in the payment in the Payment
Account Registration > ACH Payment Proposal Rules page.
SupplierBankIDType Must be abaRoutingNumber; required for ACH payments to Optional
private suppliers; required if buyer has configured Reject payment
if remittance information does not match that in supplier account or
Use remittance information in the payment in the Payment
Account Registration > ACH Payment Proposal Rules page.
SupplierBankName Must be blank. Optional
SupplierLocation The unique internal identifier of the supplier location to which the Required
payment is made. Use Vendor ID from ERP system.
SupplierLocationContac The ID for the contact person at the given supplier location. This Optional
tID value must match the contact ID defined for the supplier location in
SupplierLocation.csv.
SupplierRemitToAddress Suppliers's remit-to city. Displays as Payees Postal Address in the Optional
City remittance advice.
SupplierRemitToAddress Suppliers's remit-to name. Displays as Payees Postal Address in the Optional
Name remittance advice.
SupplierRemitToAddress Suppliers's remit-to postal code. Displays as Payees Postal Address Optional
PostalCode in the remittance advice.
SupplierRemitToAddress Suppliers's remit-to state. Displays as Payees Postal Address in the Optional
State remittance advice.
SupplierRemitToAddress Suppliers's remit-to street. Displays as Payees Postal Address in the Optional
Street remittance advice.
Ariba Network processes the payments with the values stored in the
TransactionType column.
UTF8
LookupID,SupplierLocation,SupplierLocationContactID,PurchasingUnit,TransactionType,CHECK_ID,Payme
ntNumber,PaymentDate,CanceledDate,NetAmount,NetAmountDefaultCurrency,PaymentMethodType,ExternalPr
ocessedState,CreatedDate,VENDOR_ID,VENDOR_SITE_CODE,SupplierRemitToAddressName,SupplierRemitToAdd
ressStreet,SupplierRemitToAddressCity,SupplierRemitToAddressState,SupplierRemitToAddressCountry,S
upplierRemitToAddressPostalCode,BuyerBankID,BuyerBankAccountID,BuyerBankAccountType,BuyerBankName
,BUYER_BANK_BRANCH_NAME,BUYER_ROUTING_NUMBER,BUYER_BANK_NUMBER,SupplierBankID,SupplierBankAccount
ID,SupplierBankName,SupplierBankAccountType,SUPPLIER_BANK_BRANCH_NAME,SUPPLIER_ROUTING_NUMBER,SUP
PLIER_BANK_NUMBER,GrossAmount,AdjustmentAmount,DiscountAmount,GrossAmountDefaultCurrency,Adjustme
ntDefaultCurrency,DiscountAmountDefaultCurrency,BuyerRemitFromAddressName,BuyerRemitFromAddressSt
reet,BuyerRemitFromAddressCity,BuyerRemitFromAddressState,BuyerRemitAddressPostalCode,BuyerRemitA
ddressCountry,BuyerBankIDType,SupplierBankIDType,SupplierBankAccountIDType,BuyerBankAccountIDType
,BATCH_ID,BATCH_SIZE,BATCH_TOTAL
1002200801,48,7,,,,106000009,10/31/2009 0:00,,4160.29,USD,ACH2,,,48,,Ace Hardware Corporation,2200
Kensington Court,Oak Brook,IL,US,60523,915322780,937403848,,,,,,255071991,43578332,Wells
Fargo,,,,,,,,,,,,,,,,,abaRoutingNumber,abaRoutingNumber,,,BatchOracle20091030t,3,16427.84
1002200802,83,33,,,,106000010,10/31/2009 0:00,,2859.53,USD,ACH2,,,83,,"J C Penney Company,
Inc",6501 Legacy Dr,Plano,TX,US,75024,915322780,937403848,,,,,,124001545,79332246,JP Morgan Chase
Bank,,,,,,,,,,,,,,,,,abaRoutingNumber,abaRoutingNumber,,,BatchOracle20091030t,3,16427.84
1002200803,66,12,,,,106000011,10/31/2009 0:00,,9408.02,USD,ACH2,,,66,,CB Richard Ellis ,355 South
Grand Avenue ,Los Angeles,CA,US,90071,915322780,937403848,,,,,,167908762,63543690,HSBC Bank
,,,,,,,,,,,,,,,,,abaRoutingNumber,abaRoutingNumber,,,BatchOracle20091030t,3,16427.84
Required
Field Description by AN
ADJUSTMENT_REASON Must be blank. Optional
AdjustmentAmount Must be blank. Typically not used. Displays in the Adjustment column of Optional
the remittance advice in the detail section.
AdjustmentCurrency Must be blank. Typically not used. Same currency code as that of Optional
payment. Displays in the Adjustment column of the remittance advice in
the detail section.
DiscountAmount Early pay discount amount. For example, on a $100 invoice with payment Optional
terms of 2% 10 net 30, this is $2.
DiscountAmountDefaultCur Same currency code as that of payment. Displays in the Discount Applied Optional
rency column of the remittance advice in the detail section.
ExternalPayableReference The invoice reference number from the ERP system. The Ariba Network Optional
Number uses SupplierPayableReferenceNumber to match with invoices.
ExternalSecondaryNumber The purchase order reference number from the ERP system. For non-PO Optional
invoices, this is blank.
Required
Field Description by AN
INVOICE_TYPE Must be blank. Optional
LookupID Sequential number assigned by the buyer in extract routine for each new Required
payment/remittance row in this file. This value must match the LookupID
column in the Remittance.csv file to associate the appropriate link.
SupplierPayableReference The invoice number known to the supplier. Displays in the remittance Required
Number advice in Payable Reference #.
UTF8
NumberInCollection,LookupID,PayableReferenceNumber,CHECK_ID,ExternalPayableReferenceNumber,INVOIC
E_PAYMENT_ID,SupplierPayableReferenceNumber,VENDOR_ID,PurchasingUnit,INVOICE_CURRENCY_CODE,GrossA
mount,AdjustmentAmount,ADJUSTMENT_REASON,NetAmount,DiscountAmount,PayableDate,GoodsReceivedDate,I
nvoiceReceivedDate,INVOICE_SOURCE,INVOICE_TYPE,INVOICE_DESCRIPTION,ExternalSecondaryNumber,Second
aryPayableNumber,PO_CREATION_DATE,GrossAmountDefaultCurrency,DiscountAmountDefaultCurrency,NetAmo
untDefaultCurrency,AdjustmentCurrency,PayableType,SecondaryPayableType
,1002200801,,,,,900001288,48,,,,,,3410,,,,,,,,,,,,,USD,,1,2
,1002200801,,,,,827636893,48,,,,,,750.29,,,,,,,,,,,,,USD,,1,2
,1002200802,,,,,JC-73683209,83,,,,,,1505.76,,,,,,,,,,,,,USD,,1,2
,1002200802,,,,,JC-38494094,83,,,,,,1353.77,,,,,,,,,,,,,USD,,1,2
,1002200803,,,,,CBRE1238300-383,66,,,,,,3450,,,,,,,,,,,,,USD,,1,2
,1002200803,,,,,CBRE1297363-383,66,,,,,,980.55,,,,,,,,,,,,,USD,,1,2
,1002200803,,,,,CBRE7397820-383,66,,,,,,4977.47,,,,,,,,,,,,,USD,,1,2
A remittance advice for Oracle looks identical to the remittance advice shown for Generic; see Sample
Remittance Advice on page 68 for a sample remittance advice for Oracle.
Required
Field Description by AN Example SAP Field Size
LOOKUPID Unique number assigned by the buyer for Required 12080802 LOOKUPI 128
each payment/remittance. This value must D
match the LOOKUPID column in the
RemittanceDetail.csv file.
Required
Field Description by AN Example SAP Field Size
NAME3 Suppliers remit-to name line 3. Optional NAME3 35
NAME4 Suppliers remit-to name line 4. Optional NAME4 35
STREET Suppliers remit-to street address. Displays Optional 250 West STRAS 255
as Payee's Postal Address on the remittance Middlefield
advice. Road
CITY Suppliers remit-to city. Displays as Payees Optional Sunnyvale ORT01 50
Postal Address on the remittance advice.
STATE Suppliers's remit-to state. Displays as Optional CA REGIO 50
Payee's Postal Address on the remittance
advice.
COUNTRY Suppliers remit-to country. Displays as Optional US LAND1 50
Payees Postal Address on the remittance
advice.
POSTALCODE Supplierss remit-to postal code. Displays as Optional 97202 PSTLZ 50
Payees Postal Address on the remittance
advice.
POBOX Suppliers PO box number Optional PFACH 10
PSTL2 Suppliers PO box postal code Optional PSTL2 10
PAYEEBANKNAME Must be blank. Optional ZBANKA 50
PAYEEBANKACCOUNT Suppliers bank accounts name. Optional
NAME
Required
Field Description by AN Example SAP Field Size
PAYERBANKACCNO Buyers bank account number. Displays on Required for 98765432 UBKNT 25
the remittance advice in masked format. Ariba
Network ACH
PAYERBANKNO ABA number of buyers bank. Displays on Required for 6784322353 UBNKL 25
the remittance advice. Ariba
Network ACH
NETAMOUNT Net amount of payment. Displays in Required 3.95 NEBTR
summary section of the remittance advice.
BATCHID ERP-assigned payment batch number. Must Required 34689020100 LAUFI +
be unique for the Ariba Network to load the 205 LAUFD
file.
For more detailed information on the fields in the Remittance.csv file, refer the Ariba Network Payment
Integration for SAP Mapping Workbook on https://connect.ariba.com.
LOOKUPID,COMP_CODE,PAYDOC,FISCALYEAR,VENDOR,CHECKNO,STAT,VERSION,POSTINGDATE,CREATIONDATE,CURRENC
Y,PAYMENTMETHOD,NAME1,NAME2,NAME3,NAME4,STREET,CITY,STATE,COUNTRY,POSTALCODE,POBOX,PSTL2,PAYEEBAN
KNAME,PAYEEBANKACCOUNTNAME,PAYEEBANKACCNO,PAYEEBANKNO,PAYEESWIFT,PAYERBANKNAME,PAYERBANKACCOUNTNA
ME,PAYERBANKACCNO,PAYERBANKNO,NETAMOUNT,BATCHID,NUMBEROFPAYMENTS,BATCHAMOUNT
1002200801,,106000009,,48,,,,20100209,,USD,ACH2,Ace Hardware Corporation,,,,2200 Kensington
Court,Oak Brook,IL,US,60523,,,Wells
Fargo,,43578332,255071991,,Citibank,,937403848,915322780,4160.29,BatchSAP20100208f,3,16427.84
1002200802,,106000010,,83,,,,20100209,,USD,ACH2,"J C Penney Company, Inc",,,,6501 Legacy
Dr,Plano,TX,US,75024,,,JP Morgan Chase
Bank,,79332246,124001545,,Citibank,,937403848,915322780,2859.53,BatchSAP20100208f,3,16427.84
1002200803,,106000011,,66,,,,20100209,,USD,ACH2,CB Richard Ellis ,,,,355 South Grand Avenue ,Los
Angeles,CA,US,90071,,,HSBC Bank
,,63543690,167908762,,Citibank,,937403848,915322780,9408.02,BatchSAP20100208f,3,16427.84
Required
Field Description by AN Example SAP Field Size
LOOKUPID Sequential number assigned by the buyer for each Required 12080802 LOOKUPID 128
payment/remittance. This value must match the
LOOKUPID column in the Remittance.csv file.
FISCALYEAR Financial year in which the payment transaction Optional 2010 GJAHR 4
occurred.
REFDOC The suppliers invoice number. Displays on the Required INV4293 XBLNR 50
remittance advice as Payable Reference #.
For more detailed information on the fields in the RemittanceDetails.csv file, refer to Ariba Network
Payment Integration for SAP Mapping Workbook on connect.ariba.com.
LOOKUPID,COMP_CODE,PAYDOC,FISCALYEAR,DOC_NO,ITEM_NO,DOCDATE,REFDOC,PONUMBER,DEBITCREDIT,GROSSAMOU
NT,CASHDISCOUNT,NETAMOUNT,ITEMTEXT,CURRENCY
1002200801,,106000009,,,,,INV1288,,,,,3410,,USD
1002200801,,106000009,,,,,8236893,,,,,750.29,,USD
1002200802,,106000010,,,,,JC-73683209,,,,,1505.76,,USD
1002200802,,106000010,,,,,JC-38494094,,,,,1353.77,,USD
1002200803,,106000011,,,,,CBRE1238300,,,,,3450,,USD
1002200803,,106000011,,,,,CBRE1297363,,,,,980.55,,USD
1002200803,,106000011,,,,,CBRE7397820,,,,,4977.47,,USD
A directory structure 42
additionalClientArgs option 34 error handling 50
AN Pay 8 local failure 50
aribafiletransfer script 12 process overview 37
authentication 2324 properties files 43
remote permanent failure 50
remote temporary failure error code 50
B success code 50
supported ERP system databases 37
backlogs, error messages while transferring 34
syntax 49
Bad credentials -- wrong shared secret 34
use with Ariba Data Transfer Tool 37
Basic Authentication 24
Digest Authentication 24
.bat files 12
directories
archivedir 42
C config 42
DownloadFromAriba 21, 31, 33
character encoding for DB Connector 42
of payment proposal pull 53 ignoring during transfers 29
of remittance data pull 54 inputdir 42
client certificate, encrypting 12 outputdir 42
client, target 14 querydir 42
ClientInfo 35 setup example 42
clientKeyPassword option 24 specifying download directory 21
clientKeystore option 23 tmp 29, 33
clientKeystorePassword option 24 directory
client-side certificate authentication, configuring 2324 create 14
ClientVersion 35 rename 15
create 14 discount management 51, 5758
create directories 14 download directory, specifying 21
create directory 14 downloadDir 57
CSV files downloadDir
specifying for download 21 option 21
use with DB Connector 37 usage 33
CSV payment files 18, 30, 33 downloaded files, using time stamp files with 21
DownloadFromAriba directory 21, 31, 33
downloadutils script 12
D
Dynamic Discounting. See discount management
data downloads 33
DownloadFromAriba directory 21, 31, 33
tmp directory for 29, 33 E
transactional 3033 early payment 57
data transfer 18, 20, 26 early settlement. 51, 57
local failure error code 34 email notification 46
remote permanent failure 34 encrypting
remote temporary failure error code 34 shared secret 18, 24
successful indicator 34 shared secret or client certificate 12
data uploads 29 encryptstring script 12, 24
database password, encrypting 40 ERP system
DB Connector synchronizing data with Ariba applications 17
M
mapping Q
SQLsyntax 48 queries 26
within Oracle limits 49 quotes, in options 20, 34
message example 27, 28, 30
Microsoft Windows, renaming options files for 20
MKDIR command 14 R
move files 14 remittance data pull
multiple ERP systems 48 character encoding 54
remittance information 17
remittance pull, limitations 55
N remote permanent failure error code 34, 50
NTLM authentication 24 remote temporary failure error code 34, 50
rename 14
rename directory 15
O
option must start with - error message 34
options 20, 24 S
options files sample options files 20
quotes required in 20, 34 SAP transports 13
renaming for Microsoft Windows 20 schedule 59
scheduler, setting up for Ariba Data Transfer Tool 18
T
tables 26
time stamps, on downloaded files and directories 33
timestampFile option 21
timestamps 50
tmp directory, for data downloads 29, 33
toolslib script 12
transactional data 37
downloading 17, 3033
uploading 17
transactional payment data 51
transports, installing 13
troubleshooting 3435
U
umodes 14
upload.bat.sample options file 20
uploads 26
uploadutils script 12
V
verbose option 34
version information, for troubleshooting 35
Z
ZARIBA_AN_PAYMENT_PROPOSAL_CSV 53
ZARIBA_SSP_REMITTANCE_PULL 55
ZSSPDIRCREATE command 14
ZSSPMOVE command 14
ZSSPREN command 15