Sunteți pe pagina 1din 88

Ariba Network

Payment Integration
Guide
Release 11s
Document Version 5
June 2012

For these users:


Application Developers
Application Administrators
Business Managers
Copyright 19962012 Ariba, Inc. All rights reserved.

This documentation, as well as the Ariba software and/or services described in it, contain proprietary information. They are provided under a license or other
agreement containing restrictions on use and disclosure and are also protected by copyright, patent and/or other intellectual property laws. Except as permitted
by such agreement, no part of the document may be reproduced or transmitted in any form by any means, electronic, mechanical or otherwise, without the
prior written permission of Ariba, Inc.

Ariba, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in the documentation. The information contained in the
documentation is subject to change without notice.

Ariba, the Ariba logo, AribaLIVE, SupplyWatch, Ariba.com, Ariba.com Network and Ariba Spend Management. Find it. Get it. Keep it. and PO-Flip are
registered trademarks of Ariba, Inc. Ariba Procure-to-Pay, Ariba Buyer, Ariba eForms, Ariba PunchOut, Ariba Services Procurement, Ariba Travel and
Expense, Ariba Procure-to-Order, Ariba Procurement Content, Ariba Sourcing, Ariba Savings and Pipeline Tracking, Ariba Category Management, Ariba
Category Playbooks, Ariba StartSourcing, Ariba Spend Visibility, Ariba Analysis, Ariba Data Enrichment, Ariba Contract Management, Ariba Contract
Compliance, Ariba Electronic Signatures, Ariba StartContracts, Ariba Invoice Management, Ariba Payment Management, Ariba Working Capital
Management, Ariba Settlement, Ariba Supplier Information and Performance Management, Ariba Supplier Information Management, Ariba Discovery, Ariba
Invoice Automation, Ariba PO Automation, Ariba Express Content, Ariba Ready, and Ariba LIVE are trademarks or service marks of Ariba, Inc. All other
brand or product names may be trademarks or registered trademarks of their respective companies or organizations in the United States and/or other countries.

Ariba Sourcing solutions (On Demand and software) are protected by one or more of the following patents, including without limitation: U.S. Patent Nos.
6,199,050; 6,216,114; 6,223,167; 6,230,146; 6,230,147; 6,285,989; 6,408,283; 6,499,018; 6,564,192; 6,871,191; 6,952,682; 7,010,511; 7,072,061; 7,130,815;
7,146,331; 7,152,043;7,225,152; 7,277,878; 7,249,085; 7,283,979; 7,283,980; 7,296,001; 7,346,574; 7,383,206; 7,395,238; 7,401,035; 7,407,035; 7,444,299;
7,483,852; 7,499,876; 7,536,362; 7,558,746; 7,558,752; 7,571,137; 7,599,878; 7,634,439; 7,657,461; and 7,693,747. Patents pending.

Other Ariba product solutions are protected by one or more of the following patents:
U.S. Patent Nos. 6,199,050, 6,216,114, 6,223,167, 6,230,146, 6,230,147, 6,285,989, 6,408,283, 6,499,018, 6,564,192, 6,584,451, 6,606,603, 6,714,939,
6,871,191, 6,952,682, 7,010,511, 7,047,318, 7,072,061, 7,084,998; 7,117,165; 7,225,145; 7,324,936; and 7,536,362. Patents pending.

Certain Ariba products may include third party software or other intellectual property licensed from a third party. For information regarding software or other
intellectual property licensed from a third party, go to http://www.ariba.com/copyrights.cfm.

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.

Document Month/Year of Updated Short Description of Change


Version Update Chapter/Section
1 June 2011 Title page Resetting document version for release 11s.

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

3 September 2011 Chapter 3 - Description for the ExternalProcessedState and


Remittance TransactionType columns
Advice for
Generic and
Remittance
Advice for Oracle

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 4: Added information about the ZARIBA_PARAM_TAB


table and the values that need must be maintained in this table to
ensure that payment proposals are successfully pulled from the
SAP system.

Added information about a new input field File Prefix Name


for the program Z_ARIBA_ASN_READ_EARLY_PAYMENT.

Ariba Network Payment Integration Guide iii


Revision History

Document Month/Year of Updated Short Description of Change


Version Update Chapter/Section

iv Ariba Network Payment Integration Guide


Table of Contents

Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

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

Chapter 2 Using the Ariba Data Transfer Tool. . . . . . . . . . . . . . . . . . . . . 17


Understanding the Ariba Data Transfer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Configuring the Ariba Data Transfer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Encrypting the Shared Secret or Client Certificate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Customizing the Options Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Configuring Client Certificate Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Configuring Proxy Server Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Ariba Data Transfer Tool Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Creating Transactional Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Uploading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Downloading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Data Download Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Troubleshooting Data Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Ariba Data Transfer Tool Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Version Information Transferred. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Chapter 3 Using the DB Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


Process Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Extracting Data from Your ERP System Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Loading Data Into Your ERP System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Using the DB Connector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Encrypting the Database Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Creating Directory Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Ariba Network Payment Integration Guide v


Table of Contents

Creating Properties Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43


Sample Properties Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Specifying Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Configuring Email Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Creating SQL Query Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Sample Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Supportiing Multiple ERP Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Mapping SQL Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Running the DB Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Incremental Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Pre- and Post-processing Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Chapter 4 Pulling and Pushing Payment Data in SAP . . . . . . . . . . . . . . . 51


Overview of the Ariba SAP Integration Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Pulling Payment Proposals from SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Prerequisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Payment Proposal Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Checking Output CSV Files for Payment Proposals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Pulling Remittance Advices from SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Checking Output CSV Files for Remittances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Additional Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Accommodating Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Adding New Document Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Pushing Payment Proposals to SAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Program Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Chapter 5 CSV File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61


Payment Proposal CSV File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Remittance Advice CSV File Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Remittance Advice for Generic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Remittance Advice for PeopleSoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Remittance Advice for Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Remittance Advice for SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

vi Ariba Network Payment Integration Guide


Chapter 1 Introduction

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:

Ariba Network Payment Integration Guide 7


Overview Chapter 1 Introduction

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

SAP Tables Ariba SAP


Integration
Programs Ariba Data Ariba
Transfer Tool Network

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.

8 Ariba Network Payment Integration Guide


Chapter 1 Introduction Overview

Understanding the Ariba Data Transfer Tool


The Ariba Data Transfer Tool is a command-line utility that facilitates data transfer in batch mode between
your ERP system and Ariba Network. Data is transferred in the form of comma-separated value (CSV) files.
It uploads payment proposals or remittance advices from your ERP system to the Ariba Network and
downloads payment proposals with early payment requests from the Ariba Network for use in your ERP.

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 Ariba Data Transfer Tool:


1 Download and install the Ariba Integration Toolkit. For information, see Installing or Upgrading the
Integration Toolkit on page 10.
2 Customize your shared secret or client certificate and option files and specify your directories. For
information, see Configuring the Ariba Data Transfer Tool on page 18.
3 Encrypt your shared secret. For information, see Encrypting the Shared Secret or Client Certificate on
page 18.
4 Download the options files from Ariba Network. For information, see Customizing the Options Files on
page 20.
5 Run the main program specifying the options file as an argument. For information, see Ariba Data
Transfer Tool Syntax on page 25.

Understanding the DB Connector


The DB Connector is a command-line utility that interfaces with the Ariba Data Transfer Tool and your
JDBC-based ERP system. It allows you to extract transactional data from ERP system database tables and
save the data to CSV files, and import transactional data from CSV files into ERP system database tables.

Note: The DB Connector is not used with SAP systems.

To use the DB Connector you perform the following general steps, each of which is described later in this
guide:

To use the DB Connector:


1 Download and install the Ariba Integration Toolkit. For more information, see Installing or Upgrading
the Integration Toolkit on page 10.
2 Encrypt your database password. For more information, see Encrypting the Database Password on
page 40.
3 Establish directory layouts for the scenarios you plan to run. For more information, see Creating
Directory Structures on page 42.
4 Create properties files for the scenarios you plan to run. For more information, see Creating Properties
Files on page 43.
5 Create query files for the data you plan to extract and import. For more information, see Creating SQL
Query Files on page 47.

Ariba Network Payment Integration Guide 9


Installing or Upgrading the IntegrationToolkit Chapter 1 Introduction

6 Run the tool.

For more information, see Chapter 3 Using the DB Connector..

Understanding the Ariba SAP Integration Programs


Ariba provides three SAP integration programs that you run from within your SAP system. These programs
enable SAP to write and read the CSV files used by the Ariba Data Transfer Tool:
The ZARIBA_AN_PAYMENT_PROPOSAL_CSV program pulls payment proposals from SAP and writes them to
CSV files.
The ZARIBA_SSP_REMITTANCE_PULL program pulls remittance advice documents from SAP and writes them
to CSV files.
The ZARIBA_AN_EARLY_PAYMENT_CSV program pushes payment proposals containing early payment
requests from CSV files to SAP.

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.

Installing or Upgrading the Integration Toolkit

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

Install Java JDK 1.6 on your system.

Upgrading the Integration Toolkit


If you are using an older version of the Ariba Integration Toolkit for your payment integration with the Ariba
Network, use the following procedure to upgrade the toolkit. If you are not sure about which version you
have installed, see Using the -version and -info Options on page 15.

10 Ariba Network Payment Integration Guide


Chapter 1 Introduction Installing or Upgrading the IntegrationToolkit

To upgrade the Ariba Integration Toolkit:


1 Download and install Java JDK 1.6 on your local system.

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.

4 In the Payment Automation section, click Ariba Integration Toolkit.

5 Click Download and save the aribaintegrationtoolkit.jar file to your local system.

6 Extract the contents of aribaintegrationtoolkit.jar using the following command:

On Windows: java -jar aribaintegrationtoolkit.jar d:\<new directory>.


On Unix: java -jar aribaintegrationtoolkit.jar /<new directory>.

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.

Installing the Ariba Integration Toolkit


If this is the first time you are installing the Ariba Integration Toolkit on a system, follow these steps. If you
already have the Ariba Integration Toolkit installed on the system to integrate with other Ariba solutions, and
now you want to add payment integration with the Ariba Network, skip steps 1-6 and proceed with step 7.

To install the Ariba Integration Toolkit:


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).
4 On the solutions product information page, click Ariba Integration Toolkit. Depending on the solution, you
can find this link either in the Payment Automation section or the Tools section.
5 Click Save, and specify a location on your hard drive. The aribaintegrationtoolkit.jar file is
downloaded to the location you have specified.
6 Extract the contents of aribaintegrationtoolkit.jar using the following command:

Ariba Network Payment Integration Guide 11


Installing or Upgrading the IntegrationToolkit Chapter 1 Introduction

On Windows: java -jar aribaintegrationtoolkit.jar d:\<new directory>.


On Unix: java -jar aribaintegrationtoolkit.jar /<new directory>.
The command extracts the contents of aribaintegrationtoolkit.jar into D:\<new directory>.

7 Download the Ariba Network payment integration options files:


a Log on to your Ariba Network account and configure the toolkit on the Configuration > Payment Integration
Toolkit page
b Create two new directories in the sample-options/DataTransferTool directory, for example: an-download
and an-upload.
c Download the required options files and save them in the sample-options/DataTransferTool directories you
just created.
See the Managing Payments chapter in the Ariba Network Buyer Administration Guide for more
information.

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.

sample-bin Script files used by the DB Connector:


dbctool_db2_export.*
dbctool_db2_import.*
dbctool_ora_export.*
dbctool_ora_import.*

12 Ariba Network Payment Integration Guide


Chapter 1 Introduction Downloading and Installing the SAPTransports

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.

Downloading and Installing the SAP Transports


The Ariba SAP integration programs consist of SAP transports. Download them from Ariba Connect and
install them in your SAP instance.

Downloading the Transport Files


To integrate your SAP system with the Ariba Network, download and install three SAP transports.

To download the Ariba Network for SAP integration transports:


1 Go to connect.ariba.com and log in. If you do not have a Connect user ID and password, 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 or Ariba Procure-to-Pay).

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.

Installing the Transport Files


The process for installing transports is the same for both first-time installations and upgrades. Before you
start, note the following:

Ariba Network Payment Integration Guide 13


Downloading and Installing the SAPTransports Chapter 1 Introduction

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.

To install the transport files for the first time:


1 In SAP, run the STMS transaction to install the transport files.

2 Specify the target client as the SAP instance client.

Running Directory Management Commands


The SAP integration function modules issue external operating system commands to create directories and
move the CSV files. The function modules use these external commands:
ZSSPDIRCREATE to create a directory
ZSSPMOVE to move files to other directories
ZSSPREN to rename a directory

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.

The command works as follows:


It takes as input a value for the name of the directory to create.
It invokes the Windows CMD command line program.
It issues the Windows MKDIR command to create the directory.

You can change ZSSPDIRCREATE in the SAP SM69 transaction to use a different command, depending on your
operating system.

Moving Files to a Directory


The modules use the ZSSPMOVE command to move files from the source to the target directory.

The command works as follows:


It takes as input values the name of the source files and destination.
It invokes the Windows CMD command line program.
It issues the Windows move command to move the directory.

You can change ZSSPMOVE in the SAP SM69 transaction to use a different command, depending on your
operating system.

14 Ariba Network Payment Integration Guide


Chapter 1 Introduction Scheduling theTools

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.

The command works as follows:


It takes as input the name of the directory to rename and the new name.
It invokes the Windows CMD command line program.
It issues the Windows REN command to rename the directory.

You can change ZSSPREN in the SAP SM69 transaction to use a different command, depending on your
operating system.

Scheduling the Tools


There are two ways to schedule the tools in the Ariba Integration Toolkit to run:
Schedule the Ariba Data Transfer Tool and the DB Connector or the SAP integration programs to run
independently using an external scheduler, such as Windows Scheduled Tasks or UNIX chron
Run the Ariba Data Transfer Tool and the DB Connector or SAP integration programs serially using a
single script.

Using the -version and -info Options


Use the -version and -info command line options to display version and environment information about the
Ariba Integration Toolkit.
version displaysthe version (for example, the content of the variables ClientType and ClientVersion.
For more information about these variables, see Version Information Transferred on page 35.).
info displays environment information (for example, the content of the variable ClientTool).

These options are not included in the wrapper script, so use the java jar command on the command line.

Example 1: Using -version


$ java -jar classes/aribafiletransfer.jar -version

results in the following output:

aribaintegrationtoolkit version : 11s2

Example 2: Using -info


$ java -jar classes/aribafiletransfer.jar -info

results in the following output:

aribaintegrationtoolkit runtime environment :


network.identity : 10.10.62.79/jdoe

Ariba Network Payment Integration Guide 15


Using the -version and -info Options Chapter 1 Introduction

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.

16 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba Data Transfer Tool

Understanding the Ariba Data Transfer Tool on page 17


Configuring the Ariba Data Transfer Tool on page 18
Uploading Data on page 26
Downloading Data on page 30
Troubleshooting Data Transfers on page 34

Understanding the Ariba Data Transfer Tool


The Ariba Data Transfer Tool is a command-line utility for transferring data in batch mode between your
ERP system and Ariba Network. Data is transferred in the form of comma-separated value (CSV) files.

Use the Ariba Data Transfer Tool to perform these tasks:


Upload payment proposals and remittance advices to Ariba Network: Synchronize Ariba Network
with your ERP by uploading transactional data incrementally from your ERP system.
Download payment proposals containing early payment requests from Ariba Network: Synchronize
your ERP system with Ariba Network by downloading Discount Management early payment requests
from Ariba Network.

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.

Ariba Data Transfer Tool

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

Core Code Non-modifiable Java classes


invoked by the wrapper scripts.

When you run the Ariba Data Transfer Tool, the transactional data is automatically uploaded to the Ariba
Network.

Ariba Network Payment Integration Guide 17


Configuring the Ariba DataTransferTool Chapter 2 Using the Ariba DataTransferTool

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.

Configuring the Ariba Data Transfer Tool


This section describes how to set up and run the Ariba Data Transfer Tool, including:
Encrypting your shared secret or client certificate for security purposes
Customizing the options files
Configuring client-side Certificate authentication
Configuring Proxy Server authentication
Running the Ariba Data Transfer Tool from the command line, or setting up the scheduler of your choice
to run the tool. For information, see the documentation for your scheduler.

Encrypting the Shared Secret or Client Certificate


For enhanced security, you can encrypt the shared secret or client certificate in the options files for
communication with the Ariba Network. The Ariba Data Transfer Tool comes with a utility script for this
purpose called encryptstring. 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 that need it.

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.

18 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Configuring the Ariba DataTransferTool

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.)

To encrypt a shared secret or password:


1 Install Java Runtime Environment 1.6, if it is not already installed.

2 Find the directory containing java.exe. For example:


C:\Program Files\Java\jdk1.6\bin

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 key must be an alphanumeric string of 24 characters in length.


The encrypted key is displayed as an output on the command line.
8 Copy the encrypted key from the command line to a file.

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 is displayed as an output on the command line.


11 Copy the encrypted string from the command line to a file.

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.

For example, this command:

encryptstring.bat directoryname\masterdata.bat abracadabra

results in the following output:

encrypted string is {3DES}luF9Ety6jsABlXJV0ul7QQ==

Ariba Network Payment Integration Guide


Configuring the Ariba DataTransferTool Chapter 2 Using the Ariba DataTransferTool

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.

Customizing the Options Files


Next, you set options in working copies of the options files. Which options files you use depends on the
transactions you upload to or download from Ariba Network.

To customize the options files:


1 Navigate to the options directory you created in sample-options/DataTransferTool directory when
downloading the sample options files from your Ariba Network account.
2 Make a copy of the appropriate sample options file, move the copy to another directory, and rename the
file.

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.

Ariba Data Transfer Tool Options


This section describes each option that appears in the sample options files, and the operation for which it is
used. Note that the options will appear in slightly different order depending upon which sample file you are
using.

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.

20 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Configuring the Ariba DataTransferTool

The following table describes the options you specify:.

Option Description Used For


JAVA_HOME Specify the full path to the Java JRE executable, java.exe, up to, but Upload,
not including the bin directory. Download

Example:
set JAVA_HOME=C:\Program Files\Java\j2re1.6.0_10

This environment variable is used by the encryptstring.bat (sh)


script and other wrapper scripts, which use Java.

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

event Use to specify an upload event (PaymentRequest or Import Upload,


Remittance Data) or a download event (PaymentRequestDownload). Download

If you are using Microsoft Windows, you must quote the value of the
event option.

downloaddir Use to specify the directory (named DownloadFromAriba by default) Download


containing the downloaded files in directories to be stored for
processing by your ERP system. On Microsoft Windows, the directory
is created in C:\TEMP. On UNIX, it is created in /var/tmp.

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.

notifyemail Specify a comma-delimited list (space-delimited in UNIX) of email Upload,


addresses to which notifications should be sent, if you have enabled Download,
notifications for either successful or failed data transfers.

Example: set notifyemail=myemail@mycompany.com

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

This option is not present in the UNIX options files.

topDir Specify the full path to the directory where the various input and output Upload
subdirectories should go.

Example: set topDir=C:\TEMP\ErpDropDir\

Ariba Network Payment Integration Guide


Configuring the Ariba DataTransferTool Chapter 2 Using the Ariba DataTransferTool

Option Description Used For


inDir Specify the full path to the subdirectory containing the CSV files to be Upload
sent.

Default: set inDir=%topDir%\InDir

The tool expects to find a subdirectory containing the CSV files to be


transferred. You can name the subdirectory anything you like.

filterprefix Specify the subdirectory name prefix that indicates which CSV file Upload
subdirectories (in inDir) the tool should ignore when uploading files.

Default: set filterprefix=processing

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.

Default: set outDir=%topDir%\OutDir

You can name the subdirectory anything you like.

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.

Default: set PerformCleanup=1

cleanupFilesOlder Specify the maximum number of days you want to retain sent CSV files Upload
Than in the outDir directory.

Default: set cleanupFilesOlderThan=7

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

Default: set logDir=%topDir%\logs

notifyonsuccess Specify 1 to enable sending an email message when the data transfer is Upload,
successful. Specify 0 to disable this feature. Download

Default set notifyonsuccess=1

notifyonfailure Specify 1 to enable sending an email message when the data transfer is Upload,
not successful. Specify 0 to disable this feature. Download

Default set notifyonfailure=1

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

22 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Configuring the Ariba DataTransferTool

Option Description Used For


notificationFailure Specify the subject of the notification email message when the data Upload,
Subject transfer fails. Download

For example:

set notificationFailureSubject=AribaFileTransfer
Transactional Data Upload: Failed

SystemID The ERP ID configured on Ariba Network for multi-ERP support. Upload,
Download

community The community affiliation of the buyer. Upload,


Download
encryptionKeyPath This specifies the location of the file that contains the encrypted Upload,
customer key. Run the encryption utility described in Encrypting the Download
Shared Secret or Client Certificate on page 18.
integrationPassword This specifies the location of the file that contains the integration Upload,
KeyPath password. Run the encryption utility described in Encrypting the Download
Shared Secret or Client Certificate on page 18. Encrypting is optional,
but if you encrypt you must use the supplied script.

Example: set sharedSecret={3DES}luT9Ejy2jsCB1XJV0ul4QQ

Configuring Client Certificate Authentication


Configure the Ariba Data Transfer Tool to support client certification authentication. The client certificate is
used for authentication between your organization and the Ariba Network. Enter your client certificate
details in your Ariba Network account and provide the certificate details in the options files.

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:

Option Description Used For


clientKeystore The file path for the client certificate key store. This Upload
parameter is required only when the authentication is set Download
as client certificate.

For example:

set clientKeystore=C:\cert\MyKeyStore.jks

Ariba Network Payment Integration Guide


Configuring the Ariba DataTransferTool Chapter 2 Using the Ariba DataTransferTool

Option Description Used For


clientKeystorePassword The password for the client certificate key store. This Upload
parameter is required only when the authentication is set Download
as client certificate.

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

Configuring Proxy Server Authentication


Configure the Ariba Data Transfer Tool to use Secure Hyper Text Transfer Protocol (HTTPS) through a
proxy server. The following authentication methods are supported:
Basic
Digest
NTLMv1 (NTLMv2 is not supported)

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:

Option Description Used For


proxyHost The host name or IP address of the proxy server. Upload
Download
For example:

set proxyHost=localhost

proxyPort The port used by the proxy server to handle secure Upload
communication. Download

For example:

set proxyPort=8081

24 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Configuring the Ariba DataTransferTool

Option Description Used For


proxyAuthMode Indicates the method used for authentication on the proxy Upload
server. If the option is not defined, no authentication is used Download
with the proxy server. Note that NTLMv2 is not supported.

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

Ariba Data Transfer Tool Syntax


The main program used to run the Ariba Data Transfer Tool is:
aribafiletransfer.bat (Microsoft Windows)
aribafiletransfer.sh (UNIX)

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.

The basic Ariba Data Transfer Tool program syntax is:

aribafiletransfer.bat <options file>.bat (Microsoft Windows)

aribafiletransfer.sh <option file>.sh (UNIX)

Before you run the tool, make sure that you have set up the appropriate options files for the integration tasks
you plan to run.

Ariba Network Payment Integration Guide


Uploading Data Chapter 2 Using the Ariba DataTransferTool

Creating Transactional Data Tables


Before you run the tool, create the following tables in your ERP system to store the data. To do this, run the
following queries on your ERP system:
AN_VENDOR.sqlThis query is for Oracle only. Run this query to create the table to store the list of
suppliers. After creating the table, ensure that you populate the list of suppliers to whom you want to send
payment proposals.
Createtable.sqlThis query is for PeopleSoft users only. Run this query to create the table to store data
on payment updates.

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.

Data Upload Examples


The following example shows the minimum options that you must configure to use the Ariba Data Transfer
Tool to upload payment proposal files and remittance advices, send email notifications on data transfer
status, and clean up data files that are older than seven days.

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.

This example assumes that the following are true:


You know your shared secret.
Java 1.6 is installed in C:\Java.

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.)

2 In a command interpreter, encrypt your shared secret. Type:


D:\ariba\bin\DataTransferTool\encryptstring directoryname\transactionaldata.bat sharedsecret

3 Check the command interpreter for a message like this:

26 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Uploading Data

encrypted string is {3DES}Rsk6Q0G1jdU3KPVl8xy30A==

You can now modify transactionaldata.bat: set sharedSecret={3DES}Rsk6Q0G1jdU3KPVl8xy30A==

4 Provide values for the following options in transactionaldata.bat.

a Enter your ANID and system ID of your organization:

set ANID=AN0100000123

where AN0100000123 is the unique ANID of your buying organization.


set systemID=ERP020

where ERP020 is the unique system ID of the ERP system.


b Enter your encrypted shared secret:
set sharedSecret={3DES}Rsk6Q0G1jdU3KPVl8xy30A==

where {3DES}Rsk6Q0G1jdU3KPVl8xy30A== is your encrypted shared secret.


c If you choose to enable authentication using your client certificate, enter the following options:

set clientKeystore=C:\cert\MyKeyStore.jks

where C:\cert\MyKeyStore.jks is the file path to the client certificate key store.
set clientKeystorePassword=storePass

where storePass is the password to the client certificate key store.


set clientKeyPassword=keyPass

where keyPass is the password to the client certificate.


d Define the topDir option to specify the directory into which you want to store data from the ERP
system:
set topDir=C:\TEMP\ErpDropDir\

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 myproxyhost is the host name or IP address of the proxy server.


set proxyPort=8081

where 8081 is the port used by the proxy server to handle secure communication.
set proxyAuthMode= N

where N is the authentication method used on the proxy server.


set proxyUser=username

where username is the user name used for authentication.


set proxyPassword=password

where password is the password used for authentication.


set proxyDomain=domain

where domain is the domain to which the user identified by the proxyUser option belongs.

Ariba Network Payment Integration Guide


Uploading Data Chapter 2 Using the Ariba DataTransferTool

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

h Specify the JAVA_HOME variable:


set JAVA_HOME=C:\Java

i Specify the event option, for example:

set event="PaymentRequest"

Warning: On Microsoft Windows, quotes are required for the event option.

5 Specify the filePrefix option:


set filePrefix=processing

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.

6 Save your changes.

7 Upload the payment proposals or remittance advices as follows:

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

and press Return.

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

28 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Uploading Data

File and Directory Handling


This section describes how the tool transfers batch data files during data uploads.

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.

About This Example


Note the following about this upload example:
The log file is automatically created under %dErpDropDir%\logs.
The tool creates a tmp directory (in this case, ~tmp49582) to process the data from the ERP system.
When the tool finishes transferring the CSV files, the tool moves the temp sub-directory to
D:\ariba\DataTransferTool\ErpDropDir\OutDir\success\PaymentRequest20071012193557, which is
%dErpDropDir%OutDir%success%filePrefix%YYYYMMDDhhmmss.

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.

Ariba Network Payment Integration Guide


Downloading Data Chapter 2 Using the Ariba DataTransferTool

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.

Data Download Example


This example shows the minimum options that you must configure to use the Ariba Data Transfer Tool to
download data. With this minimum configuration, the tool can download data from Ariba Network, send
email notification regarding the data transfer status, and clean up data files that are older than seven days.

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.

This example assumes that the following are true:


You know your shared secret.
Java 1.6 is installed in C:\Java.

Note: This example shows the Microsoft Windows set command. The UNIX options files do not require you
to use set.

To download transactional data:


1 Make a copy of D:\ariba\sample-options\DataTransferTool\an-download\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.)

2 In a command interpreter, encrypt your shared secret. Type:


D:\ariba\bin\DataTransferTool\encryptstring directoryname\transactionaldata.bat sharedsecret

3 Check the command interpreter for a message like this:


encrypted string is {3DES}Rsk6Q0G1jdU3KPVl8xy30A==

You can now modify transactionaldata.bat: set sharedSecret={3DES}Rsk6Q0G1jdU3KPVl8xy30A==

30 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Downloading Data

4 Provide values for the following options in transactionaldata.bat.

a Enter your ANID and system ID of your organization:

set ANID=AN0100000123

where AN0100000123 is the unique ANID of your buying organization.


set systemID=ERP020

where ERP020 is the unique system ID of the ERP system.


b Enter your encrypted shared secret:
set sharedSecret={3DES}Rsk6Q0G1jdU3KPVl8xy30A==

where {3DES}Rsk6Q0G1jdU3KPVl8xy30A== is your encrypted shared secret.


c If you choose to enable authentication using a client certificate, enter the following options:

set clientKeystore=C:\cert\MyKeyStore.jks

where C:\cert\MyKeyStore.jks is the file path to the client certificate key store.
set clientKeystorePassword=storePass

where storePass is the password to the client certificate key store.


set clientKeyPassword=keyPass

where keyPass is the password to the client certificate.


d Define the downloadDir option to specify the directory into which you want to download data from
Ariba:
set downloadDir=D:\ariba\DataTransferTool\DownloadFromAriba

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 myproxyhost is the host name or IP address of the proxy server.


set proxyPort=8081

where 8081 is the port used by the proxy server to handle secure communication.
set proxyAuthMode= N

where N is the authentication method used on the proxy server.


set proxyUser=username

where username is the user name used for authentication.


set proxyPassword=password

where password is the password used for authentication.


set proxyDomain=domain

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

Ariba Network Payment Integration Guide


Downloading Data Chapter 2 Using the Ariba DataTransferTool

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

h Specify the JAVA_HOME variable:


set JAVA_HOME=C:\Java

i Specify the event option:

set event="PaymentRequestDownload"

Warning: On Microsoft Windows, quotes are required for the event option.

5 Specify the filePrefix option:


set filePrefix=PaymentRequest

6 Specify a different time stamp file using the timestampFile option:


set timestampFile=%downloadDir%\PaymentRequestTimeStamp

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.

7 Save your changes.

8 Download the payment updates as follows:

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

and press Return.


d 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\DownloadFromAriba\logs\log-20071012-193554-46.log
********************************************************
****Running File Transfer Tool at Thu Oct 12 19:35:55 PDT 2007****
done executing POST method.
unzipping D:\ariba\DataTransferTool\DownloadFromAriba\~tmp49582\~download45181.tmp to
D:\ariba\DataTransferTool\DownloadFromAriba\~tmp49582\unzip45180
D:\ariba\DataTransferTool\DownloadFromAriba\~tmp49582\~download45181.tmp
successfully unzipped Reponse successfully downloaded to the directory
'D:\ariba\DataTransferTool\DownloadFromAriba\Payment20071012193557'
Data transfer complete.

Payment updates are downloaded in this example.

32 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Downloading Data

About This Example


Note the following about this download example:
The log file is automatically created under %downloadDir%\logs.
The tool creates a tmp directory (in this case, ~tmp49582) to receive the data from the server.
When the tool finishes transferring the CSV files, the tool renames the temp directory to
D:\ariba\DataTransferTool\DownloadFromAriba\PaymentRequest20071012193557, which is
%downloadDir%\%filePrefix%YYYYMMDDhhmmss

Open the contents of D:\ariba\DataTransferTool\DownloadFromAriba, and note the following:


An empty file named PaymentRequestTimeStamp is created with a time stamp corresponding to
20071012193557. The next time you run the tool, it will use this time stamp to determine the last successful
download time. The tool will look only for data with a more recent time stamp than this to download
incrementally.
To download incremental data successfully, you must specify the same time stamp file for this event
(unless there is good reason not to do so, such as if you are troubleshooting). By default the time stamp
file is named PaymentRequest TimeStamp.

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.

Ariba Network Payment Integration Guide


Troubleshooting DataTransfers Chapter 2 Using the Ariba DataTransferTool

Troubleshooting Data Transfers


This section contains possible solutions for problems you might encounter while transferring data.

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.

option must start with '-'

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:

set additionalClientArgs=-filterPrefix %filterPrefix%


-verbose

Ariba Data Transfer Tool Error Codes


The error codes that the Ariba Data Transfer Tool can return appear on the command line as either 0, 1, 2, or
3. The following table describes the error codes.

Error Code Description


0 Data was transferred successfully

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.

34 Ariba Network Payment Integration Guide


Chapter 2 Using the Ariba DataTransferTool Troubleshooting DataTransfers

Version Information Transferred


To assist you with troubleshooting or working with Ariba Customer Support personnel, the following
environment information is sent with every Ariba Data Transfer Tool request to the Ariba Network:
ClientVersionthe version of the Ariba Data Transfer Tool
ClientInfoa concatenation of the following system properties:
os.nameoperating system of the server running the Ariba Data Transfer Tool
os.versionversion of the operating system running the Ariba Data Transfer Tool
os.archarchitecture of the operating system running the Ariba Data Transfer Tool
java.vm.versionversion of the virtual machine used to run the Ariba Data Transfer Tool
java.vm.vendorvendor of the virtual machine used to run the Ariba Data Transfer Tool

Ariba Network Payment Integration Guide


Troubleshooting DataTransfers Chapter 2 Using the Ariba DataTransferTool

36 Ariba Network Payment Integration Guide


Chapter 3 Using the DB Connector

Process Overview on page 37


Encrypting the Database Password on page 40
Creating Directory Structures on page 42
Creating Properties Files on page 43
Creating SQL Query Files on page 47
Running the DB Connector on page 49

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.

Supported ERP system databases include:


Oracle
DB2
SQL Server

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.

Ariba Network Payment Integration Guide 37


Process Overview Chapter 3 Using the DB Connector

Extracting Data from Your ERP System Database


To extract data from your ERP system, you specify an output directory, database connection information, a
log directory, and a query directory in the appropriate DB Connector properties file. For more information,
see Creating Properties Files on page 43. You also create an individual file for each query you want to run,
which results in one generated CSV file per query.

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:

Loading Data Into Your ERP System


To load transactional data into your ERP system, you specify an input directory, database information, a log
directory, and a query directory in the appropriate properties file. For more information, see Creating
Properties Files on page 43. You must also create an individual query file for each query you want to run.

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.

38 Ariba Network Payment Integration Guide


Chapter 3 Using the DB Connector Process Overview

The following graphic illustrates the process of loading transactional data extracted from Ariba Network into
your ERP system using the DB Connector:

Using the DB Connector


This section provides a high-level overview of configuration steps required to set up the DB Connector for
use. These steps assume that you have already unpacked the tool as described in Installing or Upgrading the
Integration Toolkit on page 10.

To use the DB Connector:


1 Encrypt your database password for security. For more information, see Encrypting the Database
Password on page 40.
2 Establish directory structures to handle the various files upon which the tool relies. For more information,
see Creating Directory Structures on page 42.
3 Create properties files for the each event group you plan to run. For more information, see Creating
Properties Files on page 43.
4 Run the SQL queries for export and import transactional data. For more information, see Running the
DB Connector on page 49.
You can also create the SQL queries that the DB Connector will run. For more information, Creating
SQL Query Files on page 47.
5 Run the DB Connector. The DB Connector can be launched from the command line or scheduled to run
automatically. For more information, see Running the DB Connector on page 49.

Ariba Network Payment Integration Guide 39


Encrypting the Database Password Chapter 3 Using the DB Connector

Encrypting the Database Password


For security purposes, you can encrypt the database password that you use in the properties files. The Ariba
Network Payment Integration Toolkit comes with a utility script for this purpose called encryptstring. This
script creates an encrypted version of the input string, which it displays at the command prompt so that you
can copy the encrypted string into all the properties files that require it.

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.

The location of java.exe is required for the encryptstring script.

To encrypt your database password:


1 Install Java Runtime Environment 1.6.x, if it is not already installed.

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.

For Microsoft Windows:


a Using notepad or a similar text editor, 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:
set JAVA_HOME=C:\Program Files\java\j2re1.6.2_13

c Save and close the file.

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

c Save and close the file.

6 Run the encryptstring script using the following syntax:


bin\encryptstring.bat dbconnector_env.bat <Your Database Password>

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.

40 Ariba Network Payment Integration Guide


Chapter 3 Using the DB Connector Encrypting the Database Password

For example, this command:

encryptstring.bat directoryname\dbctool_ora_import.bat abracadabra

results in the following output:

encrypted string is {3DES}luT4Ejy7jsCBlXMV0u26QQ==

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.

Securing Your Database


In addition to password encryption, there are other security measures that you should implement to secure
your database when using the DB Connector. These measures include:
Carefully managing directory permissions
Carefully managing file permissions
Using a secure database account

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.

Ariba Network Payment Integration Guide 41


Creating Directory Structures Chapter 3 Using the DB Connector

Creating Directory Structures


Before running the DB Connector, you must first create directory structures to handle the various files upon
which the tool relies. When you create your properties files as described in Creating Properties Files on
page 43, you specify the locations of the directories you create. These directories include:
config, where the properties file is located.
querydir, where the SQL queries for that event group are located.
outputdir,
for data export. Indicates where the CSV files generated by the SQL queries are located. The
DB Connector creates this directory automatically.
inputdir,for data to be imported into your ERP system. Indicates where the CSV files exported from
Ariba Network are stored.
logdir, where log files are stored.
archivedir, where archives are stored.

Make sure your directory structure:


allows the isolation of queries and data files from event to event
provides all information in a single location for the administrator to configure
is compatible with the Ariba Data Transfer Tool.

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 */

The resulting properties file for this scenario will be:

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

42 Ariba Network Payment Integration Guide


Chapter 3 Using the DB Connector Creating Properties Files

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.

Creating Properties Files


You configure the DB Connector by creating .properties files for each event group extract or load you plan
to run. All sample properties files for the DB Connector are stored in the DBConnector directory which was
created when you unpacked the Ariba Network Payment Integration Toolkit. Which sample files you use
depends upon which database you are using, and which event group you require.

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.

Sample Properties Files


To specify properties for exporting transactional data from Ariba Network, use one of these sample files:
DBConnector\data-export\db2.properties
DBConnector\data-export\oracle.properties

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

Ariba Network Payment Integration Guide 43


Creating Properties Files Chapter 3 Using the DB Connector

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

This option is not required for data import.

inputdir The location where the CSV files to be imported into the ERP system are stored.

This option is not required for data export.

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 The database driver. For example:

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

44 Ariba Network Payment Integration Guide


Chapter 3 Using the DB Connector Creating Properties Files

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 The type of CSV encoding to be used. For example:

csvencoding=UTF-8

logFile The location of the log file. For example:

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 The email address to be used for notifications. For example:

to=user@domain.com

from The email address from which notifications are to be sent. For example:

from=db-connector@domain.com

Ariba Network Payment Integration Guide 45


Creating Properties Files Chapter 3 Using the DB Connector

Property Description
timestampquery The query used to retrieve the current time from the database. For example:

timestampquery=values(current timestamp)

or

timestampquery=SELECT to_char(SYSDATE, 'DD-Mon-YYYY HH24:MI:SS') as


\"time\" from dual

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

This option is optional. If not specified, use !fromDate! notation.

toDate The string to find in the query for the "to" timestamp. For example:

toDate=_to

The option is optional. If not specified, use !toDate! notation.

Configuring Email Notification


You can configure the DB Connector to provide email notification for both successful and failed runs. To
enable email notification, uncomment and configure the three email notification parameters in your
<database>.properties files:

smtp: The name of the SMTP mail server to be used for email notifications. For example:
smtp=smtp.domain.com

to: The email address to be used for notifications. For example:


to=user@domain.com

from: The email address from which notifications are to be sent. For example:
from=db-connector@domain.com

46 Ariba Network Payment Integration Guide


Chapter 3 Using the DB Connector Creating SQL Query Files

Creating SQL Query Files


For each integration task that you plan to run, you create individual .sql files that are stored in the querydir
directory you created earlier. These queries can be structured in a database-specific way, or you can write
abstracted queries using the sample database syntax mapping files provided by Ariba.

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:

SELECT DISTINCT ac.check_id as "LookupID",


ac.vendor_site_id as "SupplierLocation",
pvc.vendor_contact_id as "SupplierLocationContactID",
ac.org_id as "PurchasingUnit",
'1' as "TransactionType",
ac.check_id,ac.check_number as "PaymentNumber",
to_char(ac.check_date,'mm/dd/yyyy HH24:MI:SS') as "PaymentDate",
to_char(ac.void_date,'mm/dd/yyyy HH24:MI:SS') as "CanceledDate",
ac.amount as "NetAmount",
ac.currency_code as "NetAmountDefaultCurrency",
DECODE(ac.payment_method_lookup_code,'CHECK', 'check','WIRE','wire','EFT','ach') as
"PaymentMethodType",
DECODE(ac.status_lookup_code,'VOIDED',1,0) as ExternalProcessedState",
...

Notice the following:


When extracting data from your ERP system database and generating CSV files, the query must specify
the CSV file column in which the values from each column in the database table will be stored. You
accomplish this specification using column aliases in the query, where the name of the alias is the name of
the column header in the CSV file that the DB Connector will generate. In the example above,
SupplierLocation is the column name in the CSV file for the ERP column vendor_site_id.

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.

INSERT INTO ap_invoices_interface


(invoice_id, invoice_num, invoice_type_lookup_code,
invoice_date, vendor_id, vendor_site_id, invoice_amount,

Ariba Network Payment Integration Guide 47


Creating SQL Query Files Chapter 3 Using the DB Connector

invoice_currency_code, terms_id, source, org_id,


attribute1, payment_method_lookup_code)
VALUES (ap_invoices_interface_s.NEXTVAL,
!InvoiceNumber!,'STANDARD',
TO_TIMESTAMP_TZ(!InvoiceDate!,'mm/dd/yyyy HH24:MI:SS tzh:tzm'),
!Supplier!,
!SupplierLocation!,
!GrossAmount!,
!GrossAmountCurrency!,
!PaymentTerms!,
'ARIBA',
(substr(!PurchasingUnit!,1,instr(!PurchasingUnit!,':')-1)),
!InvoiceReconciliationId!, upper(!PaymentMethod!))

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.

Supportiing Multiple ERP Systems


If your organization uses multiple ERP systems, you must use a separate instance of the DB Connector for
each ERP system. In Oracle, the payment proposals query uses the parameter called, ERPID. The value
specified for this parameter is read from the DBSyntax.table.oracle.properties.

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.

Mapping SQL Syntax


The Ariba Network provides two SQL syntax mapping files that abstract RDBMS-specific SQL syntax by
providing string substitutions for common differences between SQL versions. These files provide default
configurations for the three supported databases: Oracle, DB2, and SQL Server.

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.

Use the appropriate file for your database, either:


DBConnector\sql-syntax-mapping\DBSyntax.table.mssql.properties
DBConnector\sql-syntax-mapping\DBSyntax.table.oracle.properties

To use abstraction parameters in your query files, enclose the parameters between @ signs.

For example, the following Oracle-specific query:

Select sysdate from dual

can be abstracted as:

Select @CurrentDate@ from MyTable

Alternatively, you could extend the DBSyntax.table.oracle.properties file with the following parameter:

48 Ariba Network Payment Integration Guide


Chapter 3 Using the DB Connector Running the DB Connector

TimeQuery = "Select sysdate from dual"

and then write your query file like this:

@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.

Mapping Within Oracle Character Limits


This section pertains to Oracle users only.

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.

Running the DB Connector


The command-line syntax used to run the DB Connector varies according to how you use the tool. Sample
scripts are provided in:

<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.

Ariba Network Payment Integration Guide 49


Running the DB Connector Chapter 3 Using the DB Connector

Creating a Baseline Timestamp


A timestamp is written in each query directory on the first run of the query. During the initial extract, no data
is loaded unless a start date is provided. To create a baseline timestamp, you create and run a query that
returns only the system date. For example:

Select sysdate from dual

Next, modify the query to include todays date. For example:

Select sysdate as CurrentDate from dual

Run the query again and check to see that the file outputdir/CurrentDate.csv is created.

Pre- and Post-processing Queries


Depending upon your situation, the data you extract might require pre- or post-processing. For example, you
might need to join the header and detail records with ERP system-specific join keys after loading data.

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:

Error Code Description


0 Success

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.

50 Ariba Network Payment Integration Guide


Chapter 4 Pulling and Pushing Payment Data in SAP

Overview of the Ariba SAP Integration Programs on page 51


Pulling Payment Proposals from SAP on page 51
Pulling Remittance Advices from SAP on page 54
Pushing Payment Proposals to SAP on page 57

Overview of the Ariba SAP Integration Programs


Use the Ariba SAP integration programs to exchange transactional payment data between SAP and CSV
files. You run them either manually or automatically in your SAP system.

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.

Pulling Payment Proposals from SAP

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

Ariba Network Payment Integration Guide 51


Pulling Payment Proposals from SAP Chapter 4 Pulling and Pushing Payment Data in SAP

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:

NAME FIELDNAME SIGN OPTI LOW HIGH DESCRIPTION


CHECK_XBLNR_EMPTY K~XBLNR I NE To filter XBLNR not having any
value for ERP-initiated
invoices, payment proposals,
and invoice status update.

INVOICE_DOC_OPTION I EQ XBLNR To send output invoice number


as XBLNR for ERP-initiated
invoices, payment proposals,
and invoice status update.

INVOICE_DOC_TYPE KR I EQ KR To store general document type


for ERP-initiated invoices,
payment proposals, and invoice
status update.

INVOICE_DOC_TYPE RE I EQ RE

INVOICE_DOC_TYPE_FULL ZP I EQ ZP To store doc type required for


_AUTO full automatic payment for
invoice status update.

INVOICE_DOC_TYPE_FULL KZ I EQ KZ To store doc type required for


_MANUAL full manual payment for
invoice status update.

INVOICE_DOC_TYPE_PART KA I EQ KA To store doc type required for


IAL partial payment for invoice
status update.

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.

Payment Proposal Program


The ZARIBA_AN_PAYMENT_PROPOSAL_CSV program pulls payment proposal data from SAP and writes it to a
CSV file named PaymentProposal.csv. The Ariba Data Transfer Tool then moves this file to the Ariba
Network.

Note: Payment proposals are loaded incrementally. That is, only the data that changed since the last time the
program ran is loaded.

52 Ariba Network Payment Integration Guide


Chapter 4 Pulling and Pushing Payment Data in SAP Pulling Payment Proposals from SAP

To pull payment proposals:


1 Specify the list of suppliers in the ZARIBA_AN_VENDOR table to whom you want to send payment proposals.

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

6 To schedule ZARIBA_AN_PAYMENT_PROPOSAL_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.

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.

7 After writing the CSV files is complete:

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.

Checking Output CSV Files for Payment Proposals


After ZARIBA_AN_PAYMENT_PROPOSAL_CSV finishes, check that the CSV files were generated as expected and
that they are located where the Ariba Data Transfer Tool can find them.

The ZARIBA_AN_PAYMENT_PROPOSAL_CSV program creates a temporary directory named


processingyyyymmddhhmmss, where yyyymmddhhmmss is the date and time when the directory was created. It
writes the PaymentProposal.csv file to this directory, depending on which data you chose to pull. The
Processing directory is placed inside the folder you specified as input in step 2, above.

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.

After ZARIBA_AN_PAYMENT_PROPOSAL_CSV writes the files, it renames the temporary directory to


processedyyyymmddhhmmss. This directory is where the Ariba Data Transfer Tool looks for the CSV files. The
next time the Ariba Data Transfer Tool runs, it finds this directory and transfers the data.

Ariba Network Payment Integration Guide 53


Pulling Remittance Advices from SAP Chapter 4 Pulling and Pushing Payment Data in SAP

The directories are created and renamed using the ZSSDIRCREATE and ZSSREN commands mentioned in
Running Directory Management Commands on page 14.

Pulling Remittance Advices from SAP


The SAP integration function module ZARIBA_SSP_REMITTANCE_PULL pulls remittance advice data and stores it
in two CSV files: Remittance.csv for header-level information and RemittanceDetails.csv for line-level
information. The Ariba Data Transfer Tool then moves these files to the Ariba Network.

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,

To pull remittance advice documents:


1 In SAP, run the function module ZARIBA_SSP_REMITTANCE_PULL using SAP transaction code SE38, which
starts the SAP user interface for this function module.
2 Specify the directory path on the SAP application server in which to create the CSV files. This directory
should already exist. For example c:\remittance\InDir. Be sure to use the same directory that you specify
in the Ariba Data Transfer Tool options file that you use when you pull remittance data from SAP. The
directory should match %topDir%\%inDir%.
3 Specify the directory separator character slash or backslash (/ for UNIX or \ for Microsoft Windows).

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.

54 Ariba Network Payment Integration Guide


Chapter 4 Pulling and Pushing Payment Data in SAP Pulling Remittance Advices from SAP

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.

6 After writing the remittance data CSV files is complete:

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.

Checking Output CSV Files for Remittances


After ZARIBA_SSP_REMITTANCE_PULL finishes, check that the CSV files were generated as expected and they
are located where the Ariba Data Transfer Tool can find them.

ZARIBA_SSP_REMITTANCE_PULL creates a temporary directory named processingyyyymmddhhmmss, where


yyyymmddhhmmss is the time stamp indicating when the directory was created. It writes the Remittance.csv and
RemittanceDetails.csv files into this directory. The Processing directory is placed inside the folder you
specified as input in step 2, above.

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.

After ZARIBA_SSP_REMITTANCE_PULL writes the files, it renames the temporary directory to


processedyyyymmddhhmmss. This directory is where the Ariba Data Transfer Tool looks for the CSV files. The
next time the Ariba Data Transfer Tool runs, it finds this directory and transfers the data.

The ZARIBA_SSP_REMITTANCE_PULL function module creates two files, Remittance.csv, and


RemittanceDetails.csv.

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

Ariba Network Payment Integration Guide 55


Pulling Remittance Advices from SAP Chapter 4 Pulling and Pushing Payment Data in SAP

The following considerations pertain to pulling remittance advices:

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:

Variable Name Selection Category Selection


Z_ARIBA_REMITTANCE_ZERO P Example - XX (if XX is the $0
document type).

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.

Accommodating Custom Fields


The custom user exit ZARIBA_SSP_REMITTANCE_PULL_EXT is provided so that you can add or change fields in
the transferred data. Restricting your customizations to custom user exits will help you integrate new
versions of the Ariba SAP integration function modules.

56 Ariba Network Payment Integration Guide


Chapter 4 Pulling and Pushing Payment Data in SAP Pushing Payment Proposals to SAP

Adding New Document Types


The following are the default document types that are supported out-of-the-box:
AB
ZP
KZ
KA

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.

To edit ZARIBTVARV parameters:


1 Run transaction SM30.

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.

4 In the Variable Name field, enter Z_ARIBA_REMITTANCE_BKPF.

5 In the Field Name, enter BLART.

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.

7 Save your changes.

Pushing Payment Proposals to SAP


Ariba Discount Management (formerly named Dynamic Discounting) allows you or your suppliers to
request early payment in exchange for discounts. The Ariba Network creates payment proposals containing
these early payment requests. You can download them to CSV files by using the Ariba Data Transfer Tool.
You then use the SAP program ZARIBA_AN_EARLY_PAYMENT_CSV to push the CSV files to SAP.

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.

Ariba Network Payment Integration Guide 57


Pushing Payment Proposals to SAP Chapter 4 Pulling and Pushing Payment Data in SAP

To run an early payment request push:


1 Specify the parent directory path to which the Ariba Data Transfer Tool writes the early payment CSV
files.
ZARIBA_AN_EARLY_PAYMENT expects as input a logical file path that indicates where the Ariba Data Transfer
Tool has downloaded the CSV files. To input this field, create a logical file name (you can use
ZARIBA_AN_EARLY_PAYMENT as it is defaulted) using the transaction FILE. In this transaction, specify a
logical path and assign a physical file name. This physical file path must contain less than 50 characters.
This directory must contain subdirectories named incoming, processed, and error. The Ariba Data
Transfer Tool writes the data into the Incoming\PP* directory, where * represents the creation date and
time stamp of the payment proposal containing early payment requests.
This directory should match the %downloadDir%\%filePrefix% directory that you specified in the Ariba
Data Transfer Tool options file.
2 In SAP, run the program ZARIBA_AN_EARLY_PAYMENT_CSV using SAP transaction code SE38, which starts the
SAP user interface for this function module.
3 Specify the directory separator character slash or backslash (/ for UNIX or \ for Microsoft Windows).

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.

58 Ariba Network Payment Integration Guide


Chapter 4 Pulling and Pushing Payment Data in SAP Pushing Payment Proposals to SAP

Program Structure
The following diagram shows how payment proposals containing early payment requests are processed:

Data and table declarations

Z_ARIBA_ASN_READ_EARLY_PAYMENT
Reads CSV data to internal tables of
structure
ZXTARIBA_PAYMENTPROPOSAL_CSV

Call FUNCTION MODULE


FI_DOCUMENT_CHANGE

If there are errors, move error records


to internal tables of structure
ZXTARIBA_PAYMENTPROPOSAL_CSV

Move processed and error invoices to


appropriate directories

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.

Ariba Network Payment Integration Guide 59


Pushing Payment Proposals to SAP Chapter 4 Pulling and Pushing Payment Data in SAP

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.

60 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats

Payment Proposal CSV File Format on page 61


Remittance Advice CSV File Format on page 63

Payment Proposal CSV File Format


The Ariba Data Transfer Tool sends payment proposals bidirectionally between your ERP system and Ariba
Network in batch mode using CSV files.

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.

The payment proposal CSV file contains the following fields:

Required
Field Description by AN
ProposalID The ID of the payment proposal. Required

NetAmount The net amount of the transaction. Required

The amount must be specified in numbers without grouping characters and


must use a period (.) as the decimal separator.

NetAmountCurrency The currency of the net amount. Required

Must be an ISO currency code.

DiscountAmount The discount amount of the transaction. Optional

The amount must be specified in numbers without grouping characters and


period (.) as the decimal separator.

DiscountAmount Currency The currency of the discount amount. Optional

Must be an ISO currency code.

DiscountPercent The percentage of the discount amount. Optional

PaymentMethod The method of payment. Required

SupplierPrivateID The private ID for the supplier specified within the ERP system. Required

SupplierName The name of the supplier. Optional

SupplierEmail The email address of the supplier. Optional

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

SupplierCity The city in the suppliers mailing address. Optional

Ariba Network Payment Integration Guide 61


Payment Proposal CSV File Format Chapter 5 CSV File Formats

Required
Field Description by AN
SupplierState The state in the suppliers mailing address. Optional

SupplierCountry The country in the suppliers mailing address. Optional

SupplierPostalCode The postal code 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.

InvoiceID The ID of the invoice. Required

OrderID The ID of the purchase order. Optional

PaymentDate The date of the payment. Required

Must be in cXML date format; for example, 2007-01-23T12:03:27-04:00.

ImmediatePay If the value of Immediate Pay is set to yes, this transaction is eligible for Optional
early payment.

OrganizationUnit The business unit of your ERP system. Optional

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.

62 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

Remittance Advice CSV File Format


The Ariba Data Transfer Tool sends remittance advices from your ERP system to the Ariba Network in
batch mode using CSV files. There are two CSV files for this information: Remittance.csv contains
header-level remittance information and RemittanceDetails.csv contains line-level remittance information.

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

Remittance Advice for Generic


The Remittance.csv file for Generic contains the following fields:

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.

AdjustmentAmountDefaul Leave blank; otherwise, specify currency for AdjustmentAmount. Required


tCurrency 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 in remittance advice in Required for Ariba
masked format. Network ACH
BuyerBankAccountIDType Must be bankAccountID for ACH; otherwise must be left blank. Required for Ariba
Network ACH
BuyerBankAccountType Leave blank; otherwise, for non Ariba Network ACH payment Optional
methods, optionally indicate if the buyer bank account is
checking or savings.
BuyerBankID ABA number of buyer's bank. Displays in remittance advice. Required for Ariba
Network ACH
BuyerBankIDType Must be abaRoutingNumber. Required for Ariba
Network ACH

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

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.

BuyerRemitFromAddressN Buyer's remit-from name. Displays as payer in the remittance Optional


ame advice only if full BuyerRemitFrom address 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 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 passed; otherwise, the buyers
Ariba Network profile is used.

BuyerRemitFromAddressS Buyer's remit-from street. Displays as payer in the remittance Optional


treet advice only if full BuyerRemitFrom address passed; otherwise, the
buyers Ariba Network profile is used.

CanceledDate Must be blank. Optional

CreatedDate Must be blank. Optional

DiscountAmount Sum of early pay discount amounts per RemittanceDetails.csv. Optional


Displays in the summary section of the remittance advice.

DiscountAmountDefaultC Same currency code as that of payment. Displays in the Discount Optional
urrency Applied column of the remittance advice in the detail section.

ExternalProcessedState Status of the payment. Must be 0 (Paid) or 1(Canceled). Optional

Customers should ensure that their ERP system must have a


provision to flag payments as canceled or failed, and the mapping
program or interface logic must map this to values 1 or 0 in this
column in the Remittance.csv file.

While processing a cancelled or failed payment, Ariba Network


does not consider the value in the BATCH_ID column. It is
recommended that the column for these payments is NULL.

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.

GrossAmountDefaultCurr Currency code of payment. Displays in summary section of the Optional


ency remittance advice.

64 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

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.

NetAmount Net amount of payment. Displays in summary section of the Required


remittance advice.

NetAmountDefaultCurren Currency code of payment. Displays in summary section of the Required


cy remittance advice.

PayeeBankAccName Name of bank account used by the payee. Optional

PayeeBankAccType Type of bank account (for example, checking) used by the payee. Optional

PayerBankAccName Name of bank account used for payment. 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.

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

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.

SupplierRemitToAddress Supplier's remit-to country. Displays as Payees Postal Address in Optional


Country the remittance advice.
SupplierRemitToAddress Supplier's remit-to city. Displays as Payee's Postal Address in the Optional
City remittance advice.
SupplierRemitToAddress Supplier's remit-to name. Displays as Payee's Postal Address in the Required
Name remittance advice.
SupplierRemitToAddress Supplier's remit-to postal code. Displays as Payee's Postal Address Optional
PostalCode in the remittance advice.
SupplierRemitToAddress Supplier's remit-to state. Displays as Payee's Postal Address in the Optional
State remittance advice.
SupplierRemitToAddress Supplier's remit-to street. Displays as Payee's Postal Address in the Optional
Street remittance advice.

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

66 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

The RemittanceDetails.csv file for Generic contains the following fields:

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.

GrossAmount Invoice amount. Optional

GrossAmountDefaultCurren Invoice currency. Optional


cy

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.

NetAmount Difference of Gross - Discount - Adjustment amount in invoice currency. Required

NetAmountDefaultCurrency Invoice currency. Required

NumberInCollection Must be blank. Optional

PayableDate Must be blank. Optional

PayableReferenceNumber Must be blank. Optional

PayableType Must be 1. Required

SecondaryPayableReferenc Must be blank. Optional


eNumber

SecondaryPayableType Must be 2. Required

SupplierPayableReference The invoice number known to the supplier. Displays in the "Payable Required
Number Reference #" in the remittance advice.

The following is an example of RemittanceDetails.csv for Generic:

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

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

Sample Remittance Advice


The following figure shows a sample remittance advice displayed on the Ariba Network and two tables
describe how data in it is mapped to CSV files.

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:

Number UI Field Name Corresponding Field in Remittance.csv


1 Payment Date PaymentDate

3 Payment Method PaymentMethodType

4 Payment Reference # PaymentNumber

5 Payer BuyerRemitFromAddress<City/Country/Name/PostalCode/State/Street>

6 Payee SupplierRemitToAddress<City/Country/Name/PostalCode/State/Street>

7 Bank Account ID BuyerBankAccountID

8 Bank Account ID SupplierBankAccountID

10 ABA Routing Number SupplierBankID

68 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

Number UI Field Name Corresponding Field in Remittance.csv


11 Originating Bank BuyerBankName

12 Account Type SupplierBankAccountType

13 ABA Routing Number BuyerBankID

14 Account Type BuyerBankAccountType

20 Gross Amount <GrossAmount><GrossAmountDefaultCurrency>

21 Discount Applied <DiscountAmount><DiscountAmountDefaultCurrency>

22 Adjustment <AdjustmentAmount><AdjustmentAmountDefaultCurrency>

23 Net Amount <NetAmount><NetAmountDefaultCurrency>

Line-level fields in the sample remittance advice above are mapped to fields in the RemittanceDetails.csv
file as follows:

Number UI Field Name Corresponding Field in RemittanceDetails.csv


15 Payable Reference SupplierPayableReferenceNumber

16 Gross Amount <GrossAmount><GrossAmountDefaultCurrency>

17 Discount Applied <DiscountAmount><DiscountAmountDefaultCurrency

18 Adjustment <AdjustmentAmount><AdjustmentAmountDefaultCurrency>

19 Net Amount <NetAmount><NetAmountDefaultCurrency>

Remittance Advice for PeopleSoft


The Remittance.csv file for PeopleSoft contains the following fields:

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

BuyerBankAccountType Must be blank. Optional

BuyerBankID ABA number of buyers bank. Displays on the remittance advice. Required for Ariba
Network ACH

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

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.

BuyerRemitFromAddressC Buyer's remit-from country. Displays as payer in the remittance Optional


ountry advice 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 Optional


ame advice 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.

BuyerRemitFromAddressS Buyer's remit-from street. Displays as payer in the remittance Optional


treet advice only if full BuyerRemitFrom address is passed; otherwise,
the buyers Ariba Network profile is used.

CanceledDate Must be blank. Optional

CreatedDate Must be blank. Optional

ExternalProcessedState Must be blank. Optional

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.

70 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

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.

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.

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 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.

SupplierLocationSetID PeopleSoft SetId of the supplier. Optional

SupplierRemitToAddress Suppliers remit-to city. Displays as Payee's Postal Address on the Optional
City remittance advice.

SupplierRemitToAddress Suppliers remit-to country. Displays as Payee's Postal Address on Optional


Country the 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.

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

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.

The following is an example of the Remittance.csv file for PeopleSoft:

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

The RemittanceDetails.csv file for PeopleSoft contains the following fields:

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.

GrossAmount Invoice amount. Optional

GrossAmountDefaultCurren Invoice currency. Optional


cy

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.

NetAmount Difference of Gross - Discount - Adjustment amount in invoice currency. Required

NetAmountDefaultCurrency Invoice currency. Required

NumberInCollection Must be blank. Optional

72 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

Required
Field Description by AN
PayableDate Must be blank. Optional

PayableReferenceNumber Must be blank. Optional

PayableType Must be 1. Required

SecondaryPayableReferenc Must be blank. Optional


eNumber

SecondaryPayableType Must be 2. Required

SupplierPayableReference The invoice number known to the supplier. Displays in the remittance Required
Number advice in the Payable Reference #.

Following is an example of RemittanceDetails.csv for PeopleSoft:

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.

Remittance Advice for Oracle


The Remittance.csv file for Oracle contains the following fields:

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.

AdjustmentDefaultCurre Leave blank; otherwise currency for AdjustmentAmount. Displays Optional


ncy 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.

BUYER_BANK_BRANCH_NAME Must be blank. Optional

BUYER_BANK_NUMBER Must be blank. Optional

BUYER_ROUTING_NUMBER Must be blank. Optional

BuyerBankAccountID Buyer's bank account number. Displays on the remittance advice in Required for Ariba
masked format. Network ACH

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

Required
Field Description by AN
BuyerBankAccountIDType Must be bankAccountID for ACH; otherwise leave blank. Required for Ariba
Network ACH

BuyerBankAccountType Must be blank. Optional

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.

BuyerRemitFromAddressC Buyer's remit-from country. Displays as payer in the remittance Optional


ountry advice 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.

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.

CanceledDate Must be blank. Optional

CHECK_ID Must be blank. Optional

CreatedDate Must be blank. Optional

DiscountAmount Sum of early pay discount amounts per RemittanceDetails.csv. Optional


Displays in the summary section of the remittance advice."

DiscountAmountDefaultC Same currency code as that of payment. Displays in the Discount Optional
urrency Applied column of the remittance advice in the detail section.

ExternalProcessedState Must be blank. Optional

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.

74 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

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

SUPPLIER_BANK_NUMBER Must be blank. Optional


SUPPLIER_ROUTING_NUMBE Must be blank. Optional
R

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.

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

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 country. Displays as Payees Postal Address in Optional


Country the 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.

TransactionType Status of the payment. Must be 0 (Paid) or 1(Canceled). Optional

Customers should ensure that their ERP system must have a


provision to flag payments as canceled or failed, and the mapping
program or interface logic must map this to values 1 or 0 in this
column in the Remittance.csv file.

While processing a cancelled or failed payment, Ariba Network


does not consider the value in the BATCH_ID column. It is
recommended that the column for these payments is NULL.

Ariba Network processes the payments with the values stored in the
TransactionType column.

VENDOR_ID Same value as SupplierLocation field above. Required

VENDOR_SITE_CODE Must be blank. Optional.

The following is an example of the Remittance.csv file for Oracle:

76 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

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

The RemittanceDetails.csv file for Oracle contains the following fields:

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.

CHECK_ID Must be blank. Optional

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.

GoodsReceivedDate Must be blank. Optional

GrossAmount Invoice amount. Optional

GrossAmountDefaultCurren Invoice currency Optional


cy

INVOICE_CURRENCY_CODE Must be blank. Optional

INVOICE_DESCRIPTION Must be blank. Optional

INVOICE_PAYMENT_ID Must be blank. Optional

INVOICE_SOURCE Must be blank. Optional

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

Required
Field Description by AN
INVOICE_TYPE Must be blank. Optional

InvoiceReceivedDate 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.

NetAmount Difference of Gross - Discount - Adjustment amount in invoice currency. Required

NetAmountDefaultCurrency Invoice currency. Required

NumberInCollection Must be blank. Optional

PayableDate Must be blank. Optional

PayableReferenceNumber Must be blank. Optional

PayableType Must be 1. Required

PO_CREATION_DATE Must be blank. Optional

PurchasingUnit Must be blank. Optional

SecondaryPayableNumber Must be blank. Optional

SecondaryPayableType Must be 2. Optional

SupplierPayableReference The invoice number known to the supplier. Displays in the remittance Required
Number advice in Payable Reference #.

VENDOR_ID Same value as SupplierLocation field above. Required

The following example shows a RemittanceDetails.csv file for Oracle:

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.

78 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

Remittance Advice for SAP


The ZARIBA_SSP_REMITTANCE_PULL SAP integration function pulls remittance advice documents from SAP
and writes them to CSV files.

The Remittance.csv file for SAP contains the following fields:

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.

COMP_CODE Unique ID of the buying organization Optional BUKRS 50


(Company Code)
PAYDOC Payment number generated by the ERP (FI Required 50701 AUGBL 50
document number). Displays on the
remittance advice.
FISCALYEAR Financial year in which the payment Optional 2010 GJAHR 4
transaction occurred (FI document year).
VENDOR Unique identifier of the supplier location to Required 100 LIFNR 50
which the payment is made (SAP Vendor
ID).
CHECKNO Must be blank. Optional CHECT
STAT Must be blank. Optional STAT
VERSION Must be blank. Optional VERSION 3
POSTINGDATE Payment date. For ACH payments, the Required 20100206 BUDAT
expected settlement date, which is typically
one business day after transmission to the
buyer's bank. Buyers should use their ERPs
native capability to determine the
appropriate ACH payment date. If the ERP
system lacks this capability, the Ariba
Network will automatically correct this
value. Format the date yyyyymmdd. Displays
in the remittance advice
CREATIONDATE Must be blank. Optional CPUDT
CURRENCY Currency code of payment. Displays in the Required USD WAERS 50
summary section of the remittance advice.
PAYMENTMETHOD ERP-defined payment method code. Must Required ACH2 ZLSCH 50
match the Payment Method Identifier
specified in the Configure Payment
Integration Toolkit > Payment Method
Mapping page.
NAME1 Suppliers's remit-to name. Displays as Optional JCN NAME1 128
Payee's Postal Address on the remittance Technologies
advice.
NAME2 Suppliers remit-to name line 2. Optional NAME2 35

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

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

PAYEEBANKACCNO Suppliers bank account number. Required Optional ZBNKN 25


for ACH payments to private suppliers or if
the buyer has set the option 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.
PAYEEBANKNO ABA number of supplier's bank. Required Optional ZBNKL 25
for ACH payments to private suppliers of if
the buyer has set the option 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.
PAYEESWIFT Must be blank. Optional ZSWIF 11
PAYERBANKNAME Buyer's bank name. Displays as payer in the Optional Citibank UBANKA 50
remittance advice only if a full
BuyerRemitFrom address is passed;
otherwise, the buyers Ariba Network profile
is used.
PAYERBANKACCOUNT Buyer bank accounts name Optional
NAME

80 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats Remittance Advice CSV File Format

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.

Manual payments (transaction F-58) create


blank BATCHID fields in the exported CSV
file. As a result, manual payments cannot be
uploaded to Ariba Network because it
expects a value for this field
NUMBEROFPAYMENTS Number of payments. Must be accurate for Required 1
the Ariba Network to load the file.
BATCHAMOUNT Sum of all payments amounts. Must be
accurate for the Ariba Network to load the
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.

The following example shows a Remittance.csv file exported from SAP.

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

Ariba Network Payment Integration Guide


Remittance Advice CSV File Format Chapter 5 CSV File Formats

The RemittanceDetails.csv file for SAP contains the following fields:

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.

COMP_CODE Unique ID of the buying organization (Company Optional BUKRS 50


Code).

PAYDOC Payment number generated by SAP. Displays on Required 42905 AUGBL 50


the remittance advice.

FISCALYEAR Financial year in which the payment transaction Optional 2010 GJAHR 4
occurred.

DOC_NO Must be blank. Optional BELNR 50


ITEM_NO Must be blank. Optional BUZEI

DOCDATE Must be blank Optional BLDAT

REFDOC The suppliers invoice number. Displays on the Required INV4293 XBLNR 50
remittance advice as Payable Reference #.

PONUMBER Must be blank. Optional EBELN 50

DEBITCREDIT Indicates whether remittance is against invoice (H) Optional SHKZG 1


or credit memo (S), or leave blank.

GROSSAMOUNT Invoice amount. Optional WRBTR

CASHDISCOUNT Early payment discount amount. For example, on a Optional WSKTO


$100 invoice with payment terms of 2% 10 net 30,
the early payment discount amount is $2.

NETAMOUNT Difference of Gross - Discount - Adjustment Required 3.95 NEBTR


amount in invoice currency.

ITEMTEXT Must be blank. Optional SGTXT 50

CURRENCY Invoice currency. Required USD WAERS 50

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.

The following example shows a RemittanceDetails.csv file exported from SAP.

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

82 Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats

Ariba Network Payment Integration Guide


Chapter 5 CSV File Formats

84 Ariba Network Payment Integration Guide


Index

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

Ariba Network Payment Integration Guide 85


Index

transferring transactional data 17 P


ERPID 48 password, encrypting 40
error 14, 57, 59, 60 payment method 18, 56
error codes payment proposal pull
Ariba Data Transfer Tool 34 character encoding 53
DB Connector 50 PaymentRemittanceRequest 8
Error Handling 59 PeopleSoft users 26
error messages, while transferring backlogs of data 34 post-processing queries 50
error records 60 processed 57, 59
event option, quotes required for 20 processing 15
ExpenseTimeStamp file 33 properties
archivedir 44
csvencoding 45
F
databasedriver 44
failed directory 29 databasehost 44
failure, recommendations following 34 databasemapping 45
filePrefix option 28, 32 databasepassword 45
files, ignoring during transfers 29 databaseusername 45
files, move 14 from 45
filterPrefix option 29 fromDate 46
inputdir 44
logfile 45
I onemptyfile 45
illegal filename 34 onemptylines 45
incoming 57, 59 oninvaliddata 45
InDir 53 outputdir 44
install 13 querydir 43, 44
smtp 45
timestampformat 46
L timestampquery 46
local failure 34 to 45
local failure error code 50 toDate 46
log file 29, 33 properties files 43
proxy server authentication, configuring 2425

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

86 Ariba Network Payment Integration Guide


Index

Secure HyperText Transfer Protocol 24


security
database 40
password 40
setting up Ariba Data Transfer Tool 18
settlement 8
.sh files 12
See also options files; wrapper scripts
shared secret
encrypting 12, 18, 24
encryption script 12
SM69 transaction 14
SQL
mapping syntax 48
query files 47
success code 50

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

Ariba Network Payment Integration Guide 87


Index

88 Ariba Network Payment Integration Guide

S-ar putea să vă placă și