Funds Capture Extract

Extract Structure

The XML Schema is the data source definition for all format templates. This means a single funds capture extract definition supports both bank account and credit card instrument types.

Element Definition Table Legend

The table below is an example of an element definition table entitled BankAccount.

BankAccount
<XML Tags> Cardinality Datatype Description
<BankAccountID> 0..1 <Identifier> Bank account identifier.
<BankAccountNumber> 0..n String Bank account number.

Each table includes the following columns:

Extract Components

The funds capture extract consists of data elements organized hierarchically. Though the data within most such elements are generated through simple, low-cost data fetches from the Oracle Payments schema, some are the result of complex, high-cost function calls which result in unacceptable performance when creating an extract instance. Therefore, the extract engine supports a series of user-defined rules wherein certain expensive elements are not populated if the rule's conditions are met.

To support payment formats with unique data requirements, an extensibility element called Extend is present at every level of the extract, allowing you to provide the required data using your own custom functions.

As the data required to create funds capture instructions change over time, the extract also changes by the addition of new elements. To support easy transition to new extract definitions, each extract has a version number associated with it which is stored with every user-defined payment format. The product retains the ability to generate all previous extract versions and, based upon the stored version number, provides each payment format with the appropriate extract instance.

Funds Capture Extract

The funds capture extract has a 5-level structure, where each level, except the last, contains one or more sub-levels.

The top level is the funds capture instruction level, and represents a single instructions file to be delivered to the payment system. The 2nd level includes 1 or more payee accounts, each associated with a single currency and financial institution, or bank. The payee accounts act as destinations for a series of funds capture orders.

A funds capture order, located at the 3rd level, is associated with a payment currency, payer information and payer bank account. A funds capture order also acts as a grouping for multiple documents receivable that reside at the 4th level. Each document receivable is associated with a single order and currency and contains multiple document lines, located at the 5th level and representing a line item from the associated order.

The diagram below illustrates the logical structure of the funds capture extract.

Logical Structure of the Funds Capture Extract

the picture is described in the document text

Funds Capture Instruction Elements

The root element of an funds capture extract, corresponding to the document or file to be eventually delivered to the external payment system, is FundsCaptureInstruction.

FundsCaptureInstruction
<XML Tags> Cardinality Datatype Description
<InstructionInfo> 1 Aggregate Information about the instruction.
<InstructionSequence> 1 Aggregate Sequential, possibly periodic, identifier of the instruction.
<InstructionTotals> 1 Aggregate Totals for the instruction, such as funds capture amount totals and payment instrument counts.
<InstructionGrouping> 1 Aggregate Instruction grouping information.
<PayeeAccount> 1..n Aggregate Account (either a bank account or payment system merchant account) where captured funds will be deposited.
<PayeeAccount>> 1..n Aggregate Account (either a bank account or payment system merchant account) where captured funds will be deposited.
<Extend> 0..n <NameValue> Extensibility element. To be filled with custom user data.
InstructionInfo
<XML Tags> Cardinality Datatype Description
<InstructionInternalID> 1 Integer Indicates the unique identifier assigned internally to this funds capture instruction
<InstructionName> 1 String Name of the instruction.
<InstructionCreationDate> 1 Time Date of the instruction's creation.
<InstructionSentDate> 1 Time Date the instruction was sent.
<InstructionStatus> 1 <Lookup> Current status of the instruction.
InstructionSequence
<XML Tags> Cardinality Datatype Description
<SequenceName> 1 String Name/code of the sequence.
<LastValue> 1 Integer Last/current value of the sequence.
InstructionTotals
<XML Tags> Cardinality Datatype Description
<PayeeAccountCount> 1 Integer The number of payee accounts in instruction.
InstructionGrouping
<XML Tags> Cardinality Datatype Description
<SettlementDate> 0..1 Time Time of settlement.
<SettlementCurrency> 0..1 <Currency> Settlement currency information.
<PayeeLegalEntity> 0..1 Aggrefate Payee legal entity information.
<PayeeOrganization> 0..1 <1stPartyOrgInfo> Payee first party organization information.
<PayeeBankAccount> 0..1 <IntBankAccount> Payee bank account information.
PayeeLegalEntity
<XML Tags> Cardinality Datatype Description
<PartyInternalID> 0..1 Integer Indicates the source of the party data (HZ_PARTIES) with the Identifier element holding PARTY_ID.
<PartyNumber> 1 String User-assigned identifier for this external party.
<Name>   String Full name of the party.
<PartyType> 1 <Lookup> Lookup code for the party type.
<PartyType> 1 String The party type.
<LegalEntityInternalID> 1 Integer Legal entity data source identifier, with the identifier element holding LEGAL_ENTITY_ID.
<LegalEntityName> 1 String Legal name of the party.
<Address> 1 <Address> Party's address.
<ContactInfo> 1 <ContactInfo> Party contact information.
<TaxRegistrationNumber> 0..1 String Tax registration number.
<LegalEntityRegistrationNumber> 0..1 String Legal registration number.
<LEDescriptiveFlexField> 0..1 <DescFlexField> Legal entity descriptive flex fields.

Payee Account Level Elements

The payee account level consists of a BankAccount element, followed by funds capture total elements, and then 1 or more funds capture order elements.

PayeeAccount
<XML Tags> Cardinality Datatype Description
<PaymentSystemAccount> 1 Aggregate (Merchant) account name assigned to the payee by the acting payment system.
<Payee> 1 Aggregate The payee information.
<OrderCount> 1 Integer Number of funds capture order using this payer account/instrument as the funds source.
<AccountTotals> 1 Aggregate Amount totals for the account.
<FundsCaptureOrder> 1..n Aggregate Collection of funds capture orders using the current instrument as the funds destination.
<Extend> 0..n <NameValue> Extensibility element; to be filled with custom user data.
Payee
<XML Tags> Cardinality Datatype Description
<Name> 1 String Payee business name.
<Address> 1 <Address> Payee business address.
<ContactInfo> 1 <Contact> Contact points for the payee party.
<MCC> 1 String Merchant category code.
AccountTotals
<XML Tags> Cardinality Datatype Description
<AuthorizationsTotal> 1 <Amount> Total of all authorizations.
<CapturesTotal> 1 <Amount> Total of all captures/settlements.
<CreditsTotal> 1 <Amount> Total of all credits.
PaymentSystemAccount
<XML Tags> Cardinality Datatype Description
<AccountName> 1 String (Merchant) account name assigned to the payee by the acting payment system.
<AccountOption> 0..n <NameValue> Account configuration option or value.

Order Level Elements

An order corresponds to an individual transaction, such as an authorization.

Data sources for order-level elements come from tables IBY_TRXN_SUMMARIES_ALL (IBY_TS) , IBY_TRXN_CORE (IBY_TC), and IBY_TANGIBLE (IBY_TG). Joins are performed using column MTRXNID that acts as a primary key for the first 3 tables. IBY_TG is joined to IBY_TS using column MTANGIBLEID.

FundsCaptureOrder
<XML Tags> Cardinality Datatype Description
<OrderSourceInfo> 1 Aggregate Information about the order requestor.
<OrderNumber> 1 Aggregate Number and identifiers associated with the order.
<PayeeOrderMemo> 0..1 String Payee-assigned order memo.
<PayeeOrderRefID> 1 String Payee-assigned order reference identifier.
<OrderMedium> 0..1 Enumeration Medium by which the order was received. Values include: ECOMMERCE, RETAIL.
<OrderAmount> 1 <Amount> Amount of the order.
<Payer> 1 <3rdPartyInfo> Party information about the funds capture payer.
<PayerBankAccount> a <BankAccount> The payer's bank account.
<BankAccountTransaction> a Aggregate The bank account transaction for the funds capture.
See note in Description column. | See note in Description column.

Note: There is an exclusive choice between element groups a, b, and c. One of them may appear at the order level.

<PayerCreditCard> b <CreditCard> The payer's credit card (a source for the funds capture).
<CreditCardTransaction> b Aggregate The credit card transaction for the funds capture.
<OriginalCCTransaction> b, 0..1 Aggregate Original credit card request which is a follow-on for the current one. In almost all cases the originating request is an authorization and this element is not present when the request is an authorization.
<PayerDebitCard> c <DebitCard> The payer's debit card.
<DebitCardTransaction> c Aggregate The debit card transaction.
<OriginalDCTransaction> 1 Aggregate The original debit card request; similar to element OriginalCCTransaction.
<DocumentReceivable> 0..1 Aggregate Document receivable associated with the funds capture, if any.
<Extend> 0..n <NameValue> Extensibility element; to be filled with custom user data.
OrderSourceInfo
<XML Tags> Cardinality Datatype Description
<ApplicationInternalID> 1 Integer Internal identifier of the application originating the order request.
<ApplicationName> 1 String Name of the application originating the order request.
OrderNumber
<XML Tags> Cardinality Datatype Description
<PayeeOrderNumber> 1 String Payee-assigned order number associated with the funds capture.
BankAccountTransaction
<XML Tags> Cardinality Datatype Description
<ActionType> 1 Enumeration Type of EFT transaction attempted. Values include: DEBIT, CREDIT, VERIFY, VALIDATE.
<TransactionDate> 1 Date Date of the funds capture.
<SettlementDueDate> 1 Date Date of transaction.
<AuthorizationMethod> 1 Enumeration Method by which the payer authorized the transaction. Values include: WRITTEN, INTERNET_FORM.
<DeliveryMethod> 1 Enumeration Method by which the transaction is to be delivered. Values include: ACH, FASCIMILE.
<TransferType> 1 Enumeration Bank account transfer type.
<SettlementCustomerReference> 1 String Settlement user reference.
<SettlementFactored> 1 Boolean Settlement factor flag.
<BillReceivableData> 0..1 Aggregate Bills receivable data.
<BankChargeBearer> 1 <Lookup> Bearer of bank account charges.
<DebitAuthorization> 1 Aggregate Debit authorization information for the payee bank account.
<DebitNotification> 1 Aggregate Debit notification information for the payee bank account.
<Extend> 0..n <NameValue> Extensibility element; to be filled with custom data.
BillReceivableData
<XML Tags> Cardinality Datatype Description
<MaturityDate> 1 Date Maturity of the bills receivable.
<BRType> 1 Enumeration Bills receivable transaction type.
DebitAuthorization
<XML Tags> Cardinality Datatype Description
<DebitAuthRefCode> 1 String Debit authorization reference code.
<DebitAuthMethod> 1 Enumeration Debit authorization method.
<DebitAuthGranted> 1 Boolean Debit authorization granted.
DebitNotification
<XML Tags> Cardinality Datatype Description
<DeliveryMethod> 1 String Method by which the transaction is to be delivered. Values include: ACH, FASCIMILE.
<EmailAddress> 1 String E-mail address where notification is sent.
<FaxNumber> 1 String Fax number where notification is sent.
CreditCardTransaction
<XML Tags> Cardinality Datatype Description
<ActionType> 1 Enumeration Type of credit card transaction. Values include: AUTHORIZATION, AUTHCAPTURE, VOICEAUTH, CAPTURE, CREDIT, RETURN, VOID.
<TransactionDate> 1 Date Date of the funds capture.
<TraceNumber> 0..1 String Payment system-provided trace number.
<POSData> 0..1 Aggregate Point-of-sale data for card-present transactions.
<AuthCode> 0..1 String Authorization code. Present for voice auth transactions.
<VoiceAuthFlag> 0..1 Boolean Indicates whether the transaction was a voice authorization.
<Extend> 0..n <NameValue> Extensibility element. To be filled with custom data.
OriginalCCTransaction
<XML Tags> Cardinality Datatype Description
<ActionType> 1 Enumeration Type of credit card transaction. Values include: AUTHORIZATION, AUTHCAPTURE, VOICEAUTH, CAPTURE, CREDIT, RETURN, VOID.
<TransactionDate> 1 Date Date of the funds capture.
<TraceNumber> 0..1 String Payment system-provided trace number.
<POSData> 0..1 Aggregate Point-of-sale data for card-present transactions.
<AuthCode> 0..1 String Authorization code provided by the payment system during the initial authorization.
<VoiceAuthFlag> 0..1 Boolean Indicates whether the transaction was a voice authorization.
<Amount> 1 <Amount> Transaction amount.
<AVSCode> 0..1 String AVS response from the initial authorization.
<ReferenceCode> 0..1 String Reference code.
<SecurityValueCheck> 0..1 String Result of the security value check.
<PaymentSystemCode> 0..1 String Payment system code returned during the initial authorization.
<Extend> 0..n <NameValue> Extensibility element. To be filled with custom data.
DebitCardTransaction
<XML Tags> Cardinality Datatype Description
<ActionType> 1 Enumeration Type of EFT transaction. Values include: DEBIT, CREDIT, VERIFY, VALIDATE.
<TransactionDate> 1 Date Date of the funds capture.
<Extend> 0..n <NameValue> Extensibility element. To be filled with custom data.
OriginalDCTransaction
<XML Tags> Cardinality Datatype Description
<ActionType> 1 Enumeration Type of debit card transaction attempted.
<TransactionDate> 1 Date Date of the funds capture.
<TraceNumber> 0..1 String Payment system-provided trace number.
<AuthCode> 0..1 String Authorization code provided by the payment system during the initial authorization.
<PaymentSystemCode> 0..1 String Payment system code returned during the initial authorization.
<DebitNetworkCode> 1 String Debit network code.
<Extend> 0..n <NameValue> Extensibility element. To be filled with custom data.
POSData
<XML Tags> Cardinality Datatype Description
<ReaderCapability> 1 Enumeration The card reader capability.
<EntryMode> 1 Enumeration Card data entry mode.
<CardIdMethod> 1 Enumeration Card-holder identification method.
<AuthSource> 1 Enumeration Authorization source.
<ReaderData> 1 String Card reader data. Must be in text encoded format if binary.

Document Level Elements

These elements correspond to individual documents receivable.

DocumentReceivable
<XML Tags> Cardinality Datatype Description
<DocumentID> 1 String Identifier assigned to this document receivable.
<DocumentStatus> 1 <LookupCode> Document status.
<DocumentDate> 1 Date Document date.
<DocumentCreationDate> 1 Date Document creation date.
<PaymentDueDate> 1 Date Document payment due date.
<DocumentType> 1 <Lookup> Document type.
<DocumentDescription> 1 String User-provided document description.
<TotalDocumentAmount> 1 <Amount> Total amount of the document.
<PaymentAmount> 1 <Amount> Amount paid.
<Charge> 0..n Aggregate Charges applied to the document.
<Discount> 0..n Aggregate Discounts applied to the document.
<Tax> 0..n Aggregate Taxes applied to the document.
<ShipmentOrigin> 1 <Address> Shipping origin of goods provided.
<ShipmentDestination> 1 <Address> Shipping destination of goods provided.
<DocumentLine> 0..n Aggregate Document lines.
<Extend> 0..n <NameValue> Extensibility element. To be filled with custom user data.

Document Line Level Elements

These elements correspond to lines of documents receivable.

DocumentLine
<XML Tags> Cardinality Datatype Description
<LineID> 1 String Identifier for the document line.
<LineNumber> 1 Integer Number for the document line.
<PONumber> 0..1 String Purchase order number.
<LineType> 1 <Lookup> Document type.
<LineDescription> 1 String Description of the document line.
<LineAmount> 1 <Amount> Total amount for the line.
<UnitRate> 0..1 Real Price per unit of this item.
<Quantity> 0..1 Real Number of line item units.
<UnitOfMeasure> 0..1 String Unit of measure lookup code.
<ProductCode> 0..1 String Product code.
<CommodityCode> 0..1 String Commodity code.
<Charge> 1..n Aggregate Charges applied to the document line.
<Discount> 1..n Aggregate Discounts applied to the document line.
<Tax> 1..n Aggregate Taxes applied to the document line.
<DocumentLine> 1..n Aggregate Document lines.
<Extend> 0..n <NameValue> Extensibility element. To be filled with custom user data.

Common Elements

Generic Elements

Currency information comes from FND_CURRENCIES (FND_C), with a join performed on the currency code if detailed information is required.

Currency
<XML Tags> Cardinality Datatype Description
<Code> 1 String Currency code. Acts as foreign key into table FND_CURRENCIES.
<Symbol> 0..1 String Currency symbol.
<MinAccountableUnit> 0..1 Integer Minimum accountable units.
<Precision> 1 Integer Precision of the currency in terms of its smallest subunits.
Amount
<XML Tags> Cardinality Datatype Description
<Value> 1 Real Scale of the amount.
<Currency> 1 Aggregate Currency of the amount.
NameValue
<XML Tags> Cardinality Datatype Description
<Name> 1 String Name.
<Value> 1 String Value.
Lookup
<XML Tags> Cardinality Datatype Description
<Code> 1 String Lookup code.
<Meaning> 1 String Code meaning.
<FormatValue> 0..1 String Value required by the payment format using this lookup.
DescFlexField
<XML Tags> Cardinality Datatype Description
<AttributeCategory> 1 String Descriptive flexfield attribute category.
<Attribute> 0..n String Descriptive flexfield attribute.

Address Elements

Address
<XML Tags> Cardinality Datatype Description
<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.
<City> 1 String City.
<County> 0..1 String County.
<State> 1 String State.
<Country> 1 String Country code.
<ISO3DigitCountry> 0..1 String ISO country code.
CountryName 0..1 String Descriptive country name.
<PostalCode> 1 String postal code
<PreFormattedConcatenatedAddress> 0..1 String Formatted concatenated address.
<PreFormattedMailingAddress> 0..1 String Formatted mailing address.
<AddressName> 1 String Name of the address/location.
<AlternateAddressName> 0..1 String Alternate address/location name.

Contact Information Elements

ContactInfo
<XML Tags> Cardinality Datatype Description
<ContactName> 1 <PersonName> The contact's personal name.
<ContactLocators> 1 <Locators> Various means by which the contact may be located or reached.
PersonName
<XML Tags> Cardinality Datatype Description
<FirstName> 1 String Person's first name.
<LastName> 1 String Person's first name.
Locators
<XML Tags> Cardinality Datatype Description
<PhoneNumber> 1 String Contact phone number.
<FaxNumber> 1 String Contact fax machine number.
<EmailAddress> 1 String Contact e-mail address.
<Website> 0..1 String Contact website.

Bank Account Elements

BankAccount
<XML Tags> Cardinality Datatype Description
<BankAccountInternalID> 1 Integer Identifies the data source of the parent aggregate.
<BankName> 1 String Name of the bank.
<BankNumber> 1 String Number assigned to bank.
<BranchInternalID> 1 Integer Identifies the data source of all subsequent branch-related elements.
<BranchName> 1 String Name of the bank branch.
<BranchNumber> 1 String Number of the bank branch.
<BranchType> 1 <Lookup> Bank branch type.
<BankAccountName> 1 String Name of the bank account.
<AlternateBankAccountName> 0..1 String Alternate bank account name.
<BankAccountNumber> 1 String The bank account number.
<UserEnteredBankAccountNumber> 1 String User-entered, denormalized bank account number.
<SwiftCode> 1 String SWIFT code of the bank account.
<IBANNumber> 1 String IBAN of the bank account.
<CheckDigits> 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> Address of the bank.
<BankContact> 0..1 <ContactInfo> Contact at the bank.
<IntBankAcct>
<XML Tags> Cardinality Datatype Description
See Note in Description column. 1 <BankAccount>

Note: All the elements of aggregate type <BankAccount> follow inline, and are not contained as the subelements of some parent element.

<DescriptiveFlexField> 1 <DescFlexField> Bank account descriptive flexfields.
<FederalBankAccountInfo> 0..1 <FederalBankAccountInfo> Federal bank account information.
<EFTUserNumber> 0..1 Aggregate Electronic funds transfer user number.
<ExtBankAcct>
<XML Tags> Cardinality Datatype Description
See Note in Description column. 1 <BankAccount>

Note: All the elements of aggregate type <BankAccount> follow inline, and are not contained as the subelements of some parent element.

<AccountHolderName> 1 String The account holder name.
EFTUserNumber
<XML Tags> Cardinality Datatype Description
<AccountLevelEFTNumber> 1 String Account-level EFT user number.
<BranchLevelEFTNumber> 1 String Branch-level EFT user number.
FederalBankAccountInfo
<XML Tags> Cardinality Datatype Description
<FederalRFCIdentifier> 1 String Identifier of the US Treasury Regional Finance Center (RFC) where disbursement originates for federal agencies.
<FederalAgencyLocationCode> 1 String Agency Location Code used by federal agency.
<FederalAbbreviatedAgencyCode> 1 String Federal agency abbreviated code.
<FederalEmployerIdentificationNumber> 1 String Federal employer identification number.

Credit Card Elements

CreditCard
<XML Tags> Cardinality Datatype Description
<CardNumber> 1 String Credit card number.
<CardExpiration> 1 Date Card expiration date.
<SecurityCode> 0..1 String CVV2 or similar security value.
<CardIssuer> 0..1 Enumeration Credit card issuer type: For example, VISA and MASTERCARD.
<CardHolder> 0..1 Aggregate Card holder information.
<CardSubtype> 0..1 Enumeration Purchase card subtype. Possible values defined by lookup IBY_PURCHASECARD_SUBTYPE.
<CardDataLevel> 0..1 Enumeration Level of data supported with this instrument; possible values defined by lookup IBY_PCARD_DATA_LEVEL.
CardHolder
<XML Tags> Cardinality Datatype Description
<HolderName> 1 <PersonName> Card holder name.
<BillingAddress> 1 Aggregate Billing address of the card holder.
<PhoneNumber> 0..1 String Card holder phone number.
<EmailAddress> 0..1 String Card holder e-mail address.

Debit Card Elements

<DebitCard>
<XML Tags> Cardinality Datatype Description
<CardNumber> 1 String Credit card number.
<CardExpiration> 1 Date Card expiration date.
<SecurityValue> 0..1 String Account security code.
<CardHolder> 0..1 Aggregate Card holder information.

Party Elements

Party elements are those which describe a participant in a financial transaction, with varying details depending on whether they are the 1st party (user) or 3rd party (external).

1stPartyInfo
<XML Tags> Cardinality Datatype Description
<PartyInternalID> 0..1 Integer Indicates the source of the party data (HZ_PARTIES) with the Identifier element holding PARTY_ID.
<PartyNumber> 1 String User-assigned identifier for this external party.
<Name> 1 String Full name of the party.
<PartyType> 1 <Lookup> Lookup code for the party type.
<PartyType> 1 String The party type.
<LegalEntityInternalID> 1 Integer Legal entity data source identifier, with the identifier element holding LEGAL_ENTITY_ID.
<LegalEntityName> 1 String Legal name of the party.
<Address> 1 <Address> Party's address.
<ContactInfo> 1 <ContactInfo> Party contact information.
3rdPartyInfo
<XML Tags> Cardinality Datatype Description
<PartyInternalID> 0..1 Integer Indicates the source of the party data (HZ_PARTIES) with the Identifier element holding PARTY_ID.
<PartyNumber> 1 String User-assigned identifier for this external party.
<Name> 1 String Full name of the party.
<PartyType> 1 <Lookup> Lookup code for the party type.
<PartyType> 1 String The party type.
<TaxIdentifier> 0..1 String Tax number of party.
<Address> 1 <Address> Party's address.
<FirstPartyReference> 1 String Identifier by which this third party refers to the first.
1stPartyOrgInfo
<XML Tags> Cardinality Datatype Description
<OrganizationInternalID> 1 Integer Organization internal identifier.
<OrganizationType> 0..1 <Lookup> Organization type.
<OrganizationName> 0..1 String Organization name.

Document Line Elements

Discount
<XML Tags> Cardinality Datatype Description
<Amount> 1 Aggregate Amount of the discount.
<RatePercent> 1 Real Discount rate in percentage.
<DiscountType> 0..1 String Type of discount.
Charge
<XML Tags> Cardinality Datatype Description
<Amount> 1 Aggregate Amount of the charge.
<RatePercent> 1 Real Charge rate as a percentage.
<ChargeType> 0..1 String Type of charge.
Tax
<XML Tags> Cardinality Datatype Description
<Amount> 1 Aggregate Amount of the tax.
<RatePercent> 1 Real Tax rate as a percentage.
<Type> 0..1 String Type of tax.
<TaxJurisdiction> 0..1 String Tax jurisdiction.