The top level is the payment instruction level. One disbursement extract will have one and only payment instruction to be delivered to the payment system. The second level is the payment. It is called OutboundPayment to distinguish with funds capture payment orders. One payment must have one or more document payables. The third level is document payable. Each document payable contains multiple document lines, located at the forth level and equivalent to a line item of an invoice.
The table below is an example of an element definition table entitled BankAccount.
OutboundPaymentInstruction
<PaymentInstructionInfo> |
1 |
Aggregate |
Information about the payment instruction. |
<PaymentProcessProfile> |
1 |
Aggregate |
Payment process profile used to create this payment instruction. |
<PaymentFormat> |
1 |
Aggregate |
Format of the payment instruction. |
<CheckFormatInfo> |
0..1 |
Aggregate |
Check format specific information such as paper document name and paper stock type. |
<InstructionTotals> |
1 |
Aggregate |
Totals for the payment instruction, such as the payment count. |
<InstructionGrouping> |
1 |
Aggregate |
Criteria by which payments were grouped to form the instruction; the presence of an element within this structure indicates all payments in the instruction meet the criterion. |
<FederalInstructionInfo> |
0..1 |
Aggregate |
US Federal payment fields at the instruction level. |
<OutboundPayment> |
1..n |
Aggregate |
Payment. |
<Extend> |
0..n |
Aggregate |
Extensibility element; to be filled with custom user data. |
PaymentInstructionInfo
<InstructionReferenceNumber> |
1 |
Integer |
Primary key of the payment instruction; exposed as instruction reference number in disbursement dashboard User Interface. |
<FormatProgramRequestID> |
1 |
Integer |
Concurrent program request ID. |
<InstructionCreationDate> |
1 |
Date |
Date of the payment instruction's creation. |
<MultiOrgAccessControl> |
0..1 |
Aggregate |
Multiple organizations access control information. |
<InstructionStatus> |
1 |
<Lookup> |
Current status of the instruction. |
<ProcessingType> |
1 |
String |
How the payment instruction will be processed. Possible values are: PRINTED and ELECTRONIC. |
<ProcessType> |
1 |
String |
Lookup IBY_PROCESS_TYPES include STANDARD, IMMEDIATE, and MANUAL. |
<UserAssignedRefCode> |
0..1 |
String |
User (payment admin) - assigned reference code. In case of some US Federal formats this reference code is generated by the Federal Financials module and used as the payment schedule number in the formats. |
<BankAssignedRefCode> |
0..1 |
String |
Bank-assigned reference code. |
<PaymentSequence> |
Minimum 0, maximum 3 |
Aggregate |
Store the last used payment sequence numbers. Used to support sequential numbering of payment records across payment files in some EFT formats. |
<BankInstruction> |
Minimum 0, maximum 2 |
<Lookup with Format Value> |
Bank instructions at the instruction level. |
<BankInstructionDetails> |
0..1 |
String |
Additional free text bank instruction details. |
<PaymentTextMessage> |
Minimum 0, maximum 2 |
String |
Payment instruction level text messages. Used to send free format messages to the bank. |
<RegulatoryReportingOption> |
0..1 |
Enumeration |
Specifies the customer's chosen declaration option. Possible values are: NO_DECLARATIONS, DECLARE_THROUGH_BANK, DECLARE_DIRECT_TO_CENTRAL_BANK. |
<PaymentSystemAccount> |
0..1 |
Aggregate |
The payment system account to be used to send the payment instruction if applicable. |
<Notes> |
0..1 |
String |
User entered notes. |
<DescriptiveFlexField> |
0..1 |
<Descriptive Flexfield> |
Descriptive flexfield for the payment instruction. |
InstructionGrouping
<Payment Date> |
0..1 |
Date |
Payment date for all payments in the instruction. |
<PaymentCurrency> |
0..1 |
<Currency> |
Currency of all payments in the instruction. |
<PaymentServiceRequestID> |
0..1 |
String |
Service request id for all payments in the instruction. |
<Payer> |
0..1 |
Aggregate |
First party payer for all payments in the instruction. |
<PayerOrganization> |
0..1 |
Aggregate |
First party payer organization for all payments in the instruction. |
<BankAccount> |
0..1 |
Aggregate |
Internal bank account for all payments in the instruction. |
<PaymentReason> |
0..1 |
<Lookup with Format Value> |
Payment reason for all payments in the instruction. |
<PaymentReasonComments> |
0..1 |
String |
Payment reason comments for all payments in the instruction. |
<FederalRFCIdentifier> |
0..1 |
String |
US Federal RFC Identifier applicable to all payments in the instruction. Associated with the payer bank branch party. |
OutboundPayment
<PaymentSourceInfo> |
1 |
Aggregate |
Payment source information such as the calling product or payment function. |
<PaymentNumber> |
1 |
Aggregate |
Various number assigned to the payment. |
<PaymentDate> |
1 |
Date |
Payment date. |
<PaymentDueDate> |
0..1 |
Date |
Date when the payment is due. Populate only if the child documents were grouped by their due dates. |
<MaturityDate> |
0..1 |
Date |
The calculated maturity date on a bill payable payment (future dated payment). |
<PaymentStatus> |
1 |
<Lookup> |
Current payment status. |
<PaymentError> |
1 |
Aggregate |
Errors associated with the payment. |
<Payee> |
1 |
<3rdPartyInfo> |
Recipient of the payment. |
<PayeeBankAccount> |
0..1 |
<PayeeBankAccount> |
Destination bank account. |
<Beneficiary> |
1 |
Aggregate |
The actual beneficiary in case of third party payments; otherwise same as the payee. |
<Payer> |
1 |
Aggregate |
First party payer. This is the legal entity that is stamped on the payments. The legal entity is derived as the owner of the internal bank account of the payment. |
<BankAccount> |
1 |
Aggregate |
The payer's bank account; the source of funds for making the payment. |
<PaymentAmount> |
1 |
<Amount> |
Amount of the payment in the payment currency. |
<PaymentAmountText> |
0..1 |
String |
The payment amount as words. Formatted according to the user language. |
<PaymentMethod> |
1 |
Aggregate |
Payment method assigned to the documents that were grouped into this payment. |
<PayAloneFlag> |
0..1 |
String |
Y or N flag indicating if the payment is created for a pay alone document. |
<SettlementPriority> |
0..1 |
<Lookup> |
Instructions to the bank related to the urgency of the payment. Populated only if the child documents are grouped by the settlement priority. |
<AmountWithheld> |
0..1 |
<Amount> |
Amount withheld in payment currency. |
<DiscountTaken> |
0..1 |
Aggregate |
Information about discount taken on this payment. |
<BankCharges> |
0..1 |
Aggregate |
Bank charge info about this payment. |
<DeliveryChannel> |
0..1 |
<Lookup with Format Value> |
Instructions related to which channel should be used by the bank to deliver the payment to the payee. Populated only if the child documents are grouped by the delivery channels. |
<BankInstruction> |
minimum 0, maximum 2 |
<Lookup with Format Value> |
Enumerated bank instruction information at the payment level. |
<BankInstructionDetails> |
0..1 |
String |
Additional free text bank instruction details. |
<PaymentTextMessage> |
minimum 0, maximum 3 |
String |
Text message for use in payment processing – at payment level. |
<PaymentDetails> |
0..1 |
String |
Concatenated string that represents the details of the child documents. |
<UniqueRemittanceIdentifier> |
0..1 |
Aggregate |
Contains remittance identifiers assigned by the payee to the child documents. Populated only if the child documents are grouped by the unique remittance identifiers. |
<PaymentReason> |
0..1 |
<Lookup with Format Value> |
Used mostly for regulatory reporting purposes. Also called: payment nature, payment category code, and declaration code. Populated only if the child documents are grouped by payment reasons. |
<PaymentReasonComments> |
0..1 |
String |
Free text field available for payment reason. Populated only if the child documents are grouped by payment reason comments. |
<RemittanceMessage> |
minimum 0, maximum 3 |
String |
Remittance free text message entered at the document level. Populated only if the child documents are grouped by remittance messages. |
<RegulatoryReporting> |
0..1 |
Aggregate |
Regulatory reporting information. |
<FederalPaymentInfo> |
0..1 |
Aggregate |
Additional information at the payment level for US Federal Financials. |
<DocumentPayableCount> |
1 |
Integer |
Number of documents in this payment. |
<DocumentPayable> |
1..n |
Aggregate |
Document payable. |
<DescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flex field for the payment. |
<Extend> |
0..n |
Aggregate |
Extensibility element; to be filled with custom user data. |
Payee
<PartyInternalID> |
1 |
Integer |
Payee party ID. |
<PartyNumber> |
1 |
String |
Party number. |
<Name> |
1 |
String |
Full name of the party. |
<TaxRegistrationNumber> |
0..1 |
String |
Tax number of party. Use this element if the data was previously stored in PO_VENDORS.VAT_REGISTRATION_NUM in 11i. |
<LegalEntityRegistrationNumber> |
0..1 |
String |
LE registration number. Use this element if the data was previously stored in PO_VENDORS.NUM_1099 in 11i. |
<PartyDescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flex field for the party record. |
<AlternateName> |
0..1 |
String |
Alternate name of the party. |
<SupplierNumber> |
0..1 |
String |
Supplier number. |
<SupplierDescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flex field for the supplier record. |
<SupplierSiteDescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flex field for the supplier site record. |
<Address> |
0..1 |
<Address> |
Third party payee's address. Generated based on the remit-to location id of payment. The remit-to location is a hard coded grouping rule for creating payments from documents payable. |
<ContactInfo> |
0..1 |
<ContactInfo> |
Contact of the third party. |
<FirstPartyReference> |
1 |
String |
Payee assigned ID for the first party payer. |
PayeeBankAccount
<BankAccountInternalID> |
0..1 |
Integer |
Primary key of the IBY (external) bank account table. |
<BankName> |
0..1 |
String |
Name of the bank. |
<AlternateBankName> |
0..1 |
String |
Alternate name of the bank. |
<BankNumber> |
0..1 |
String |
Bank Number. From the HZ organization profile linked to the bank party. |
<BranchInternalID> |
0..1 |
Integer |
Party ID of the bank branch party. |
<BranchName> |
0..1 |
String |
Name of the bank branch. |
<AlternateBranchName> |
0..1 |
String |
Alternate name of the bank branch. |
<BranchNumber> |
0..1 |
String |
Bank branch number. From the HZ organization profile linked to the bank branch party. |
<BankAccountName> |
0..1 |
String |
Name of the bank account. |
<AlternateBankAccountName> |
0..1 |
String |
Alternate name of the bank account. |
<BankAccountNumber> |
1 |
String |
The bank account number. Formatted for electronic transmission. In case the account number for transmission is the same as user entered, the same value will be saved to the two columns and extracted. |
<UserEnteredBankAccountNumber> |
1 |
String |
The bank account number as user entered. This field should be used for formats that are intended for human read, such as checks. |
<SwiftCode> |
0..1 |
String |
SWIFT code of the bank account. Stored in HZ_CONTACT_POINTS associated with bank branch. |
<IBANNumber> |
0..1 |
String |
IBAN of the bank account. |
<CheckDigits> |
0..1 |
String |
Check digits of the bank account number. |
<BankAccountType> |
0..1 |
<Lookup> |
The account type. |
<BankAccountCurrency> |
0..1 |
<Currency> |
Currency by which accounts funds are denominated. |
<BankAddress> |
0..1 |
<Address> |
Primary address of the bank branch. |
<BankContact> |
0..1 |
<ContactInfo> |
Contact at the bank. |
<PrimaryOwner> |
1 |
Aggregate |
Primary owner of bank account in case of single/joint owned; payment factor party in case of factor bank account. |
<FactorAccount> |
0..1 |
<Lookup> |
Y or N flag indicating if the bank account is a factor account. |
<DescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the bank account. |
<BranchDescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the bank branch. From the HZ party of the bank branch. |
Payer
<PartyInternalID> |
1 |
Integer |
The party that is linked to the legal entity. |
<PartyNumber> |
1 |
String |
Party number. |
<Name> |
1 |
String |
Full name of the party. |
<TaxRegistrationNumber> |
0..1 |
String |
Tax registration number. |
Use this element if the data was previously stored in FINANCIALS_SYSTEM_PARAMETERS_ALL.VAT_REGISTRATION_NUM in 11i. |
<LegalEntityRegistrationNumber> |
0..1 |
String |
Legal entity registration number. Use this element if the data was previously stored in AP_REPORTING_ENTITIES_ALL.TAX_IDENTIFICATION_NUM in 11i. |
<DescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the party record. |
<LegalEntityInternalID> |
1 |
Integer |
Legal entity stamped on the payments. Owner of the transactions. |
<LegalEntityName> |
1 |
String |
Legal entity name. |
<Address> |
1 |
<Address> |
Legal entity address. |
<ContactInfo> |
0..1 |
<ContactInfo> |
Contact at the first party. |
<DescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the legal entity record. |
BankAccount
<BankAccountInternalID> |
1 |
Integer |
Primary key of the CE (internal) bank account table. |
<BankName> |
0..1 |
String |
Bank name. |
<BankNumber> |
0..1 |
String |
Bank number. From the HZ organization profile linked to the bank party. |
<BranchInternalID> |
1 |
Integer |
Party id of the bank branch party. |
<BranchName> |
0..1 |
String |
Name of the bank branch. |
<AlternateBranchName> |
0..1 |
String |
Alternate name of the bank branch. |
<BranchNumber> |
0..1 |
String |
Number of the bank branch. From the HZ organization profile linked to the bank branch party. |
<BankAccountName> |
1 |
String |
Name of the bank account. |
<AlternateBankAccountName> |
0..1 |
String |
Alternate name of the bank account. |
<BankAccountNumber> |
1 |
String |
The bank account number. Formatted for electronic transmission. In case the account number for transmission is the same as user entered, the same value will be saved to the two columns and extracted. |
<UserEnteredBankAccountNumber> |
1 |
String |
The bank account number as user entered. This field should be used for formats that are intended for human read, such as checks. |
<SwiftCode> |
0..1 |
String |
SWIFT code of the bank account. Stored in HZ_CONTACT_POINTS associated with bank branch. |
<IBANNumber> |
0..1 |
String |
IBAN of the bank account. |
<CheckDigits> |
0..1 |
String |
Check digits of the bank account number. |
<BankAccountType> |
1 |
<Lookup> |
The account type. |
<BankAccountCurrency> |
1 |
<Currency> |
Currency by which accounts funds are denominated. |
<BankAddress> |
1 |
<Address> |
Primary address of the bank branch. |
<BankContact> |
0..1 |
<ContactInfo> |
Contact at the bank. |
<DescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the bank account. |
<BranchDescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the bank branch. From the HZ party of the bank branch. |
<FederalBankAccountInfo> |
0..1 |
Aggregate |
Additional information for use by US Federal customers. |
<EFTUserNumber> |
0..1 |
Aggregate |
EFT numbers assigned by the bank to the user. |
DocumentPayable
<DocumentNumber> |
1 |
Aggregate |
Contains document identifier elements, typically specified by the calling application. |
<PONumber> |
0..1 |
String |
PO number(s) to which this document line is matched. |
<DocumentStatus> |
1 |
<Lookup> |
Lookup aggregate of the document payable status. |
<DocumentError> |
1 |
Aggregate |
Errors associated with this document. |
<DocumentDate> |
1 |
Date |
Document date. |
<DocumentCreationDate> |
0..1 |
Date |
Date of the document's creation. |
<PaymentDueDate> |
0..1 |
Date |
Date when payment is due to the payee. |
<DocumentType> |
0..1 |
<Lookup> |
Code for the document type. The document type is a concatenation of the calling product doc types, such as STANDARD, CREDIT, DEBIT, INTEREST, PREPAYMENT, MIXED, or AWT for Oracle Payables and BAT for Cash Management Bank Account Transfer. |
<DocumentDescription> |
0..1 |
String |
Free text description of the document payable. |
<ExpenseReportCreditCardNumber> |
0..1 |
String |
Credit card number for expense report with Oracle iExpense. |
<EmployeePaymentFlag> |
0..1 |
String |
Y or N flag indicating if the payment is for an employee, that is, the payee is an employee. This is a hard-coded grouping rule for creating payments, where the documents of a payment must all have the same Employee Payment Flag value – either Y or N. |
<TotalDocumentAmount> |
0..1 |
<Amount> |
Total amount specified on the document in the document currency. |
<PaymentAmount> |
1 |
<Amount> |
Payment amount in payment currency. |
<PayAloneFlag> |
0..1 |
String |
Y or N flag indicating if the document should be paid by its own payment. |
<SettlementPriority> |
0..1 |
<Lookup> |
Urgency of the payment. |
<AmountWithheld> |
0..1 |
<Amount> |
Amount withheld in payment currency. |
<DiscountTaken> |
0..1 |
Aggregate |
Document-level discounts. |
<BankCharges> |
0..1 |
Aggregate |
Bank charge info for this document. |
<DeliveryChannel> |
0..1 |
<Lookup with Format Value> |
Delivery channel. |
<PaymentReason> |
0..1 |
<Lookup with Format Value> |
Used mostly for regulatory reporting purposes. Also called: payment nature, payment category code, or declaration code. |
<PaymentReasonComments> |
0..1 |
String |
Free text field available for payment reason. |
<RemittanceMessage> |
minimum 0, maximum 3 |
String |
Remittance message – usually used in remittance advice. |
<Charge> |
0..1 |
Aggregate |
Charges. Used for remittance purposes. |
<TotalDocumentTaxAmount> |
0..1 |
<Amount> |
Total tax amount for the doc payable. (Not pro-rated for payment schedule). For remittance purposes. |
<CreditAmountApplied> |
0..1 |
<Amount> |
Total credit amount (credit memo and debit memo) applied for the document payable. (Not pro-rated for payment schedule). Currently for Brazil only. |
<InterestAmountApplied> |
0..1 |
<Amount> |
Total interest amount applied for the document payable. (Not pro-rated for payment schedule). Currently for Brazil only. |
<InterestRate> |
0..1 |
Number |
Interest rate based on which this interest invoice was created. |
<DocumentPayableLine> |
0..n |
Aggregate |
Line items associated with the document. |
<Extend> |
0..n |
Aggregate |
Extensibility element; to be filled with custom user data. |
<DescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the payment method. |
<SrcDocDescriptiveFlexField> |
0..1 |
<Descriptive Flex Field> |
Descriptive flexfield for the payment method. |
DocumentNumber
<DocumentInternalIDSegment1~5> |
1 |
String |
Calling application's unique document payable identifiers. For Oracle Payables, segment1 maps to ap_inv_selection_criteria_all.checkrun_id, segment2 to invoice_id, segment3 to payment_num of the payment schedule. |
<ApplicationInternalID> |
1 |
Integer |
Identifier of the application which submitted the document for payment. |
<ApplicationDocumentSubType> |
0..1 |
String |
Document type assigned to this document by the application; used as a distinguisher for applications with multiple document sources. |
<ApplicationUniqueInternalID> |
1 |
String |
Application provided identifier; will be unique per application and application document sub type. |
<ReferenceNumber> |
0..1 |
String |
User-assigned reference code for this document; for example: invoice number, expense report number. |
<BankAssignedRefCode> |
0..1 |
String |
Bank-assigned reference code for this document. |
<UniqueRemittanceIdentifier> |
0..1 |
Aggregate |
Contains remittance identifiers assigned by the payee to the child document. |
<DocCategory> |
0..1 |
String |
AOL sequence attribute. The sequence is from the calling product. |
<SequenceName> |
0..1 |
String |
AOL sequence attribute. The sequence is from the calling product. |
<SequenceValue> |
0..1 |
String |
AOL sequence attribute. The sequence is from the calling product. |
DocumentPayableLine
<LineNumber> |
1 |
Integer |
Line item number. |
<PONumber> |
0..1 |
String |
PO number(s) to which this document line is matched. If multiple POs, value will be comma delimited. |
<LineType> |
1 |
<Lookup> |
Code for the line item type; for example: item, tax, or freight. |
<LineDescription> |
0..1 |
String |
Description of line item. |
<LineGrossAmount> |
0..1 |
<Amount> |
Total amount for document line in document currency. |
<UnitPrice> |
0..1 |
Number |
Price per unit of this item. |
<Quantity> |
0..1 |
Integer |
Number of line item units. |
<UnitOfMeasure> |
0..1 |
<Lookup> |
Unit of measure lookup code. |
<Tax> |
0..1 |
Aggregate |
Tax. |
<Extend> |
0..n |
Aggregate |
Extensibility element; to be filled with custom user data. |
Address
<AddressInternalID> |
1 |
Integer |
The data source of the address data. |
<AddressLine1> |
1 |
String |
Address line 1. |
<AddressLine2> |
0..1 |
String |
Address line 2. |
<AddressLine3> |
0..1 |
String |
Address line 3. |
<AddressLine4> |
0..1 |
String |
HZ address only. Null for HR address. |
<City> |
0..1 |
String |
City. |
<County> |
0..1 |
String |
County. |
<State> |
0..1 |
String |
State. |
<Country> |
1 |
String |
ISO 3166 two digit country code. |
<ISO3DigitCountry> |
1 |
String |
ISO 3166 three digit country code. |
<CountryName> |
1 |
String |
Country name. |
<PostalCode> |
0..1 |
String |
Postal code. |
<PreFormattedConcatenatedAddress> |
1 |
String |
Pre-formatted concatenated address. Address fields are concatenated with the space as separator. Address fields are ordered according to country address format styles. This version of per-formatted address can be used in EFT formats. |
<PreFormattedMailingAddress> |
1 |
String |
Pre-formatted mailing address with embedded line breaks. Generated by TCA with the Postal Address TCA style. Address fields are ordered according to country address format conventions. |
<AddressName> |
1 |
String |
HR location code for payer; vendor site name or party site name for payee. |
<AlternateAddressName> |
0..1 |
String |
For payee address only. Alternate vendor site code. |
Internal and external bank account addresses come from the HZ locations table. The internal (payer) bank account address is obtained based on the int_bank_branch_location_id column in the payments table; while the external (payee) bank account address is based on ext_bank_branch_location_id.
The elements are similar to those of payer/payee addresses, except they do not have the AddressName and AlternateAddressName elements.