Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update the format of table layout to clarify optional Length vs. fixed vs. min/max. Field format is moved into description

...

0Max Len: 0Max Len: 1Max Len: 0Max Len: 0Max Len:

Element / Attribute

Data TypeReq'd

Length

Required?

Description / Format

Example

<pdp_file>



Req



xmlns

String


Req

Always: xmlns="http://www.kuali.org/kfs/pdp/payment"


xmlns:xsi

String


Req

Always: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


xsi:schemaLocation

String


Req

Always: xsi:schemaLocation="http://www.kuali.org/kfs/pdp/payment http://localhost:8080/kuali-dev/static/xsd/pdp/payment.xsd"


version



Req

Always: version="1.0"


<header>



Req




<campus>StringMin Len: 2Max Len

String

Fixed: 2

Req

Chart of accounts code. First part of the PDP Customer Profile

IR

The tag was changed from <chart> to <campus> on 8/26/2022

<unit>

StringStringMin Len: 1Max Len

Min: 1 / Max: 4

ReqThis is a four

[UCIKFS:

Four character description of the unit. Second part of the PDP Customer Profile.

SBS

<sub_unit>

Format: [A-Z]{1,4}

SBS

<sub_unit>

String

Min: 1 / Max: 4

Req

Four digit character code that describes the source of the PDP file. The last part of the PDP Customer Profile.

Format: [A-Z]{1,4}

ACCT

<creation_date>

String

Fixed: 19

Req

Date file is created.

Format is : yyyy-mm-ddThh:mm:ss  (Please notice the T separating the Date and Time)

2013-01-10T09:00:00

</header>



Req



<group>



Req

The <group> element combines payments to a single vendor or payee. Each <group> element will contain one or more <detail> elements (described below) to provide information about individual payments.


<payee_name>

StringStringMin Len: 1Max Len


Min: 1 / Max: 40

Req

Name of the vendor or individual for which the payment is intended.

ABC CLEARNING SERVICES

<payee_id>

StringStringMin Len: 0Max

Len: 25

Opt

This is the Vendor Number that exists in KFS.  This would also be the Student ID for students.

12345678

<id_type>

[UCIKFS:A-Z]String

Fixed: 1

Req

This will equal "V" for vendor number. This will equal "D" for students.  For Plus Loan checks mailed to parents send "P".

Format: [A-Z]

V

<payee_own_cd>

String[UCIKFS:A-Z][UCIKFS:A-Z]

Fixed: 2

Opt

This would be similar to Individual or Sole Proprietor.

Format: Use CF as the value.

CF

<customer_institution_identifier>

StringStringMin Len: 0Max

Len: 30

Opt

Unit defined. For example, the customer number the vendor associates with our account.

TEST

<address1>

StringStringMin Len: 1Max Len

Min: 1 / Max: 45

Req

Address to which payment is to be sent. There may be up to four address lines. Do not include city, state, or zip code.

CUSTOMER PAYMENT CENTER

<address2>

StringStringMin

Len: 45

Opt

Address to which payment is to be sent. There may be up to four address lines. Do not include city, state, or zip code.

PO BOX 1234

<city>

StringStringMin

Len: 45

Opt

City to which payment is to be sent.

Irvine

<state>

StringMin Len: 0Max String

Len: 30

Opt

State to which payment is to be sent.

CA

<zip>

StringStringMin Len: 0Max

Len: 20

Opt

Zipcode to which payment is to be sent.

92697-4600

<country>

StringStringMin Len: 0Max

Len: 30

Opt

Country to which payment is to be sent.

USA

<campus_address_ind>

String 

Len: 1

Opt

Format: [UCIKFS:Y,N]Opt

Y – Payee address is on-campus.
N – Payee address is off-campus.

N

<payment_date>

String

Fixed: 10

Req

Date payment is due or the check produced. Format is yyyy-mm-dd.  This would normally be the due date.

Format: yyyy-mm-dd

2011-04-09

<attachment_ind>

String 

Len: 1

Opt

Format: [UCIKFS:Y,N]Opt

Y – Indicates that an attachment has been mailed or faxed
N – No attachment

N

<special_handling_ind>

String

Len: 1

Opt

Format: [UCIKFS:Y,N]Opt

Y – Indicates special handling is required. Use this to indicate Pick Up check.
N – No special handling required.

N

<taxable_ind>

String

Len: 1

Opt

Format: [UCIKFS:Y,N]

Opt

Y – Taxable expense (Y for 1042S)
N – Tax-exempt expense


<nra_ind>

[UCIKFS:String

Len: 1

Opt

Format: [Y,N]Opt

Y – Vendor is non-resident alien
N – Vendor is US citizen

If you set up a customer with the NRA Check Indicator checked and that customer uploads a payment with the nra_ind set to "Y" then that payment will load into PDP in "Held for Tax" status. Payments in this status won't get pulled in when a format process is run. The idea is that you'd want someone to review this for tax issues before you make the disbursement.  If it is ok they would remove the hold. If it's not they would probably cancel the payment.
 
There's currently a bug related to removing the tax hold where the folks who should have that permission don't appear to. This is reported in JIRA as KFSMI-5595.hold. If it's not they would probably cancel the payment.

N

<combine_group_ind>

String

Len: 1

Opt

Format: [UCIKFS:Y,N]Opt

Y – Payment may be combined with other payments to the same vendor
N – Payment should not be grouped with other payments to the same vendor

Y

<bank_code>

StringStringMin Len: 0Max

Len: 4

Opt

Bank code. Not used anymore, leave blank. It will be ignored by PDP.


<disbursement_date>StringLen: 10OptNot used for uploading payments, leave blank.
<disbursement_number>

integerInteger


Len: 9OptNot used for uploading payments, leave blank.
<disbursement_type>

String


Len: 4OptNot used for uploading payments, leave blank.
<pmt_stat_cd>

String


Len: 4OptNot used for uploading payments, leave blank.

<detail>



Req

Every <group> element must contain at least one <detail> sub-element. The contents of the <detail> element provide information about a single payment to the vendor described in the parent <group> element (described above). Each <detail> element will contain one or more <accounting> elements (described below).  KFS supports up to 200 details per group.


<source_doc_nbr>

String[UCIKFS:A-Za-z0-9]{1,14}

Min: 1 / Max: 14

Req

This will be an identifying number that can be searched on. Could be used to identify a batch of payments. From KFS, it is the same as the document number. Use this attribute to pass the Image Id if you are using DDM scanning services.

12345

<invoice_nbr>

[UCIKFS:Format: [A-Za-z0-9]{1,14}

12345

<invoice_nbr>

String

Min: 1 / Max: 14

Opt

The number that identifies the payment. This can be searched on. From KFS, it is the same as the Payment Request Number.

Format: [A-Za-z0-9]{1,14}

INV1

<po_nbr>

StringStringMin Len: 1Max

Len: 9

Opt

Purchase Order number

12345

<req_nbr>StringMin Len: 1Max nbr>

String

Len: 8

Opt

Requisition number

12345

<org_doc_nbr>

StringStringMin Len: 1Max

Len: 10

Opt

Additional identifying internal number at the header level.

12345

<invoice_date>

String


Opt

Invoice Date. Format is yyyy-mm-dd. It is advisable to send your source document date in this attribute for recording purposes.

2011-04-09

<orig_invoice_amt>

decimalDecimal


Opt

Original Invoice Amount

29.77

<net_payment_amt>

decimalDecimal


Opt

Net Payment Amount

29.77

<invoice_tot_discount_amt>

decimalDecimal


Opt

Invoice total discount amount

0

<invoice_tot_ship_amt>

decimalDecimal


Opt

Invoice total shipping amount

0

<invoice_tot_other_debits>

decimalDecimal


Opt

Invoice total other debits

0

<invoice_tot_other_credits>

decimalDecimal


Opt

Invoice total other credits

0

<fs_origin_cd>

StringMin Len: 0Max LenString

Fixed: 2

Opt

Origin Code specific to the unit, please reference your Origin Code.

SB

<fdoc_typ_cd>

StringStringMin Len: 0Max

Len: 4

Opt

Document type code will be EPAY.

EPAY
<extension>

Opt

<use_tax_type_cd>String[UCIKFS:D,I]Len: 1Opt

I - for Invoice Date driven use tax calculation

D – for Delivery Date driven use tax calculation

Format: [D,I]

D

<delivery_date>

String

Len: 10

Opt

To allow medical center to specify which date to calculate use tax (delivery date vs. invoice date) YYYY-MM-DD. Populate this tag only if the use_tax_type_cd is D.

2007-07-09 

</extension>

Opt


<accounting>



Req

Every <detail> element must contain at least one <accounting> sub-element. Each <accounting> element provides information about a source for the payment in the parent <detail> element. The combined value of the amount fields in the <accounting> sub-elements must equal the <net_payment_amt> value in the parent <detail> element.


<coa_cd>

StringStringMin Len

Fixed: 2Max Len: 2

Req

Chart of accounts code.

IR

<account_nbr>StringMin Len: 1Max Len

String

Fixed: 7

Req

Account number

BF10002

<sub_account_nbr>

String


Len: 5

Opt

Sub-account number.
Optional. If omitted, please omit tag as well.


<object_cd>

StringStringMin Len

Fixed: 4

Req

Object code

5000

<sub_object_cd>

String

Len: 4

Opt

Sub-object code
Optional. If omitted, please omit tag as well.

<org_ref_id>

StringStringMin

Len: 10

Opt

Unit-defined reference number used at the transaction level.  Normally carries FS Source.


<project_cd>

String


Len: 10

Opt

Project Code ID.  This attribute is pre-defined in the Project table and it is validated if used.  If you use it make sure it is a valid Project.

133

<amount>

decimalDecimal


Req

Amount

100.00

</accounting>



Req



<payment_text>

StringMin String

Len: 90

Opt

Each <detail> element may contain multiple <payment_text> sub-elements. The text contained within each <payment_text> element will appear as a single line of text printed on the payment stub remitted to the vendor.


</detail>



Req



<capital_asset_information>

Opt

<new_asset>

Opt

<asset_type_code>

String

Len: 7 Opt

<vendor_number>

String

Len: 40 Opt

<asset_manufacturer_name>

String

Len: 45 Opt

<asset_manufacturer_model_number>

String

Len: 25 Opt

<asset_description>

String

Len: 40 Opt

</new_asset>

Opt

<asset_info_detail>

Opt

<asset_tag_number>

String

Len: 8 Opt

<asset_serial_number>

String

Len: 25 Opt

<campus_code>

String

Len: 2 Opt

<building_code>

String

Len: 10 Opt

<building_room_number>

String

Len: 8 Opt

<building_sub_room_number>

String

Len: 2 Opt

</asset_info_detail>

Opt

<existing_asset>

Opt

<asset_number>

String

Len: 12Opt

</existing_asset>

Opt

</capital_asset_information>

Opt

</group>



Req



<trailer>



Req



<detail_count>

integerInteger


Req

Number of transactions in the file.


<detail_tot_amt>

decimalDecimal


Req

Total amount of the payment lines.


</trailer>



Req



</pdp_file>



Req



...

<?xml version="1.0" encoding="UTF-8"?>
<pdp_file xmlns="http://www.kuali.org/kfs/pdp/payment"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.kuali.org/kfs/pdp/payment
    http://localhost:8080/kuali-dev/static/xsd/pdp/payment.xsd"
    version="1.0">
    <header>
        <campus>BL</campus>
        <unit>KUAL</unit>
        <sub_unit>DV</sub_unit>
        <creation_date>2013-01-10T09:00:00</creation_date>
    </header>
    <group>
        <payee_name>JOHN DOE</payee_name>
        <payee_id id_type="V">1000-0</payee_id>
        <payee_own_cd>CF</payee_own_cd>
        <customer_institution_identifier>test<customer_institution_identifier>                                             
        <address1>U.S. GOVERNMENT PRINTING OFICE</address1>
        <address2>APARTMENT 1413</address2
        <city>OMAHA</city>
        <state>NE</state>
        <zip>68103</zip>
        <country>US</country>                                              
        <campus_address_ind>N</campus_address_ind>
        <payment_date>2007-07-09</payment_date>
        <attachment_ind>N</attachment_ind>
        <special_handling_ind>N</special_handling_ind>
        <nra_ind>N</nra_ind>
        <bank_code>TEST</bank_code>
        <detail>
            <source_doc_nbr>100001</source_doc_nbr>
            <invoice_nbr>INV00001</invoice_nbr>
            <po_nbr>PO100001</po_nbr>
            <req_nbr>1W</req_nbr>
            <org_doc_nbr>V</org_doc_nbr>
            <net_payment_amt>200</net_payment_amt>
            <fs_origin_cd>TR</fs_origin_cd>
            <fdoc_typ_cd>DV</fdoc_typ_cd>
            <accounting>
                <coa_cd>BL</coa_cd>
                <account_nbr>1031400</account_nbr>
                <object_cd>7000</object_cd>
                <amount>100</amount>
            </accounting>
            <accounting>
                <coa_cd>BL</coa_cd>
                <account_nbr>2224791</account_nbr>
                <object_cd>7000</object_cd>
                <sub_object_cd>KID</sub_object_cd>
                <amount>100</amount>
            </accounting>
            <payment_text>We are adding two new capital assets: photo frames, which will be located to two places.</payment_text>                                                                       
        </detail>
        <detail>
            <source_doc_nbr>109999</source_doc_nbr>
            <invoice_nbr>INV09999</invoice_nbr>
            <po_nbr>PO109999</po_nbr>
            <req_nbr>1W</req_nbr>
            <org_doc_nbr>V</org_doc_nbr>
            <net_payment_amt>100</net_payment_amt>
            <fs_origin_cd>TR</fs_origin_cd>
            <fdoc_typ_cd>DV</fdoc_typ_cd>
            <accounting>
                <coa_cd>BL</coa_cd>
                <account_nbr>2224791</account_nbr>
                <object_cd>7000</object_cd>
                <sub_object_cd>KID</sub_object_cd>
                <amount>100</amount>
            </accounting>
            <payment_text>We are updating the existing capital asset with the number 124235.</payment_text>                                               
        </detail>
        <capital_asset_information>
            <new_asset>
                <asset_type_code>07000</asset_type_code>
                <vendor_number>1000-0</vendor_number>
                <asset_manufacturer_name>WORLD BEST</asset_manufacturer_name>
                <asset_manufacturer_model_number>PF-10001</asset_manufacturer_model_number>
                <asset_description>photo frames</asset_description>
                <asset_info_detail>
                    <campus_code>BL</campus_code>
                    <building_code>BL001</building_code>
                    <building_room_number>001</building_room_number>
                    <building_sub_room_number>01</building_sub_room_number>
                    <asset_tag_number>CA-1000</asset_tag_number>
                    <asset_serial_number>BH356465781000</asset_serial_number>
                </asset_info_detail>
                <asset_info_detail>
                    <campus_code>BL</campus_code>
                    <building_code>BL001</building_code>
                    <building_room_number>001</building_room_number>
                    <building_sub_room_number>01</building_sub_room_number>
                    <asset_tag_number>CA-9999</asset_tag_number>
                    <asset_serial_number>BH356465781999</asset_serial_number>
                </asset_info_detail>
            </new_asset>                                                               
        </capital_asset_information>
    </group>
    <group>
        <payee_name>JOHN DOE</payee_name>
        <payee_id id_type="V">1000-0</payee_id>
        <payee_own_cd>CF</payee_own_cd>
        <customer_institution_identifier>test</customer_institution_identifier>                           
        <address1>GOVERNMENT PRINTING</address1>
        <address2>APARTMENT 1413</address2>
        <city>OMAHA</city>
        <state>NE</state>
        <zip>681030546</zip>
        <country>US</country>                        
        <campus_address_ind>N</campus_address_ind>
        <payment_date>2007-07-09</payment_date>
        <attachment_ind>N</attachment_ind>
        <special_handling_ind>N</special_handling_ind>
        <nra_ind>N</nra_ind>
        <bank_code>TEST</bank_code>
        <detail>
            <source_doc_nbr>100002</source_doc_nbr>
            <invoice_nbr>INV00001</invoice_nbr>
            <po_nbr>PO100002</po_nbr>
            <req_nbr>1W</req_nbr>
            <org_doc_nbr>V</org_doc_nbr>
            <net_payment_amt>200</net_payment_amt>
            <fs_origin_cd>TR</fs_origin_cd>
            <fdoc_typ_cd>DV</fdoc_typ_cd>
            <accounting>
                <coa_cd>BL</coa_cd>
                <account_nbr>1031400</account_nbr>
                <object_cd>7000</object_cd>
                <org_ref_id>k4Df</org_ref_id>
                <amount>100</amount>
            </accounting>
            <accounting>
                <coa_cd>BL</coa_cd>
                <account_nbr>2224791</account_nbr>
                <object_cd>7000</object_cd>
                <amount>100</amount>
            </accounting>                                                
            <payment_text>We are adding two new capital assets: photo frames, which will be located to two places.</payment_text>                                                                       
        </detail>                                                                                                      
        <capital_asset_information>
            <existing_asset>
                <asset_number>124235</asset_number>
            </existing_asset>
        </capital_asset_information>
    </group>
    <trailer>
        <detail_count>3</detail_count>
        <detail_tot_amt>500</detail_tot_amt>
    </trailer>
</pdp_file>

XSD for Payment Upload (please see the attachments for the payment.xsd, types.xsd, and ddTypes.xsd files)

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2007-2008 The Kuali Foundation
 
 Licensed under the Educational Community License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
 
 http://www.opensource.org/licenses/ecl2.php
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<xsd:schema elementFormDefault="qualified"
    targetNamespace="http://www.kuali.org/kfs/pdp/payment"
    xmlns:kfs="http://www.kuali.org/kfs/sys/types"
    xmlns:dd="http://www.kuali.org/kfs/sys/ddTypes"
    xmlns="http://www.kuali.org/kfs/pdp/payment" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:import namespace="http://www.kuali.org/kfs/sys/types" schemaLocation="http://localhost:8080/kfs-dev/static/xsd/sys/types.xsd" />
    <xsd:import namespace="http://www.kuali.org/kfs/sys/ddTypes" schemaLocation="http://localhost:8080/kfs-dev/static/xsd/sys/ddTypes.xsd" />
        
    <!-- simple data types -->
    <xsd:simpleType name="versionType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="1.0"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!-- BEGIN UCI CODE -->
    <xsd:simpleType name="oneToSevenCharType">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
            <xsd:maxLength value="7"/>
        </xsd:restriction>
    </xsd:simpleType>
    
    <xsd:simpleType name="useTaxTypeCodeType">
        <xsd:restriction base="xsd:string">
            <!-- WARREN CHANGE: change codes from E/U to D/I -->
            <!-- <xsd:enumeration value="E"/>
            <xsd:enumeration value="U"/> -->
            <xsd:enumeration value="D"/>
            <xsd:enumeration value="I"/>
        </xsd:restriction>
    </xsd:simpleType>    
    <!-- END UCI CODE -->
    
    <!-- definition of simple type elements -->
     <xsd:element name="campus" type="xsd:normalizedString"/>
    <xsd:element name="unit" type="xsd:normalizedString"/>
    <xsd:element name="sub_unit" type="xsd:normalizedString"/>
    <!-- KFSI-1202 just make create date xsd:datetime -->
    <xsd:element name="creation_date" type="xsd:dateTime"/>
    <xsd:element name="source_doc_nbr" type="xsd:normalizedString"/>
    <xsd:element name="invoice_nbr" type="xsd:normalizedString"/>
    <xsd:element name="po_nbr" type="xsd:normalizedString"/>
    <xsd:element name="req_nbr" type="xsd:normalizedString"/>
    <xsd:element name="org_doc_nbr" type="xsd:normalizedString"/>
    <xsd:element name="payee_name" type="xsd:normalizedString"/>
    <xsd:element name="payee_own_cd" type="xsd:normalizedString"/>
    <xsd:element name="customer_institution_identifier" type="xsd:normalizedString"/>
    <xsd:element name="address1" type="xsd:normalizedString"/>
    <xsd:element name="address2" type="xsd:normalizedString"/>
    <xsd:element name="address3" type="xsd:normalizedString"/>
    <xsd:element name="address4" type="xsd:normalizedString"/>
    <xsd:element name="city" type="xsd:normalizedString"/>
    <xsd:element name="state" type="xsd:normalizedString"/>
    <xsd:element name="zip" type="xsd:normalizedString"/>
    <xsd:element name="country" type="xsd:normalizedString"/>
    <xsd:element name="campus_address_ind" type="xsd:normalizedString"/>
    <!-- KFSI-1202 just make date xsd:date -->
    <xsd:element name="payment_date" type="xsd:date"/>
    <!-- KFSI-1202 just make date xsd:date -->
    <xsd:element name="invoice_date" type="xsd:date"/>
    <xsd:element name="attachment_ind" type="xsd:normalizedString"/>
    <xsd:element name="special_handling_ind" type="xsd:normalizedString"/>
    <xsd:element name="taxable_ind" type="xsd:normalizedString"/>
    <xsd:element name="orig_invoice_amt" type="xsd:decimal"/>
    <xsd:element name="net_payment_amt" type="xsd:decimal"/>
    <xsd:element name="invoice_tot_discount_amt" type="xsd:decimal"/>
    <xsd:element name="invoice_tot_ship_amt" type="xsd:decimal"/>
    <xsd:element name="invoice_tot_other_debits" type="xsd:decimal"/>
    <xsd:element name="invoice_tot_other_credits" type="xsd:decimal"/>
    <xsd:element name="nra_ind" type="xsd:normalizedString"/>
    <xsd:element name="combine_group_ind" type="xsd:normalizedString"/>
    <xsd:element name="coa_cd" type="xsd:normalizedString"/>
    <xsd:element name="account_nbr" type="xsd:normalizedString"/>
    <xsd:element name="sub_account_nbr"  type="xsd:normalizedString"/>
    <xsd:element name="object_cd" type="xsd:normalizedString"/>
    <xsd:element name="sub_object_cd" type="xsd:normalizedString"/>
    <xsd:element name="org_ref_id" type="xsd:normalizedString"/>
    <xsd:element name="project_cd" type="xsd:normalizedString"/>
    <xsd:element name="amount" type="xsd:normalizedString"/>
    <xsd:element name="payment_text" type="xsd:normalizedString"/>
    <xsd:element name="detail_count" type="xsd:integer"/>
    <xsd:element name="detail_tot_amt" type="xsd:decimal"/>
    <xsd:element name="bank_code" type="xsd:normalizedString"/> 
    <xsd:element name="fs_origin_cd" type="xsd:normalizedString"/> 
    <xsd:element name="fdoc_typ_cd"  type="xsd:normalizedString"/> 
    <!-- BEGIN UCI CODE: [FSI-142] INT-PDP-004 Manual/Local Check Upload --> 
    <!-- KFSI-1202 just make date xsd:date -->
    <xsd:element name="disbursement_date" type="xsd:date" />    
    <xsd:element name="disbursement_number" type="xsd:string" /> 
    <xsd:element name="disbursement_type" type="kfs:zeroToFourCharType" /> 
    <xsd:element name="pmt_stat_cd" type="kfs:zeroToFourCharType" />
    <xsd:element name="generate_gl_entries" type="xsd:boolean" /> 
    <!-- END UCI -->
    
    <!-- BEGIN UCI CODE KFSI-191 -->
	<xsd:element name="asset_type_code" type="oneToSevenCharType" />
	<xsd:element name="vendor_number" type="kfs:oneToFortyCharType" />
	<xsd:element name="asset_number" type="xsd:integer" />
	<xsd:element name="asset_manufacturer_name" type="kfs:zeroToFortyFiveCharType" />
	<xsd:element name="asset_manufacturer_model_number" type="kfs:oneToTwentyFiveCharType" />
	<xsd:element name="asset_description" type="kfs:oneToFortyCharType" />
	
	<xsd:element name="asset_tag_number" type="kfs:oneToEightCharType" />
	<xsd:element name="asset_serial_number" type="kfs:oneToTwentyFiveCharType" />
	<xsd:element name="campus_code" type="kfs:oneToTwoCharType" />
	<xsd:element name="building_code" type="kfs:oneToTenCharType" />
	<xsd:element name="building_room_number" type="kfs:oneToEightCharType" />
	<xsd:element name="building_sub_room_number" type="kfs:oneToTwoCharType" />
	<!-- END UCI CODE KFSI-191 -->
	
	<!-- BEGIN UCI CODE KFSI-470 -->
    <xsd:element name="use_tax_type_cd" type="useTaxTypeCodeType" /> 
	<!-- END UCI CODE KFSI-470 -->
    <!-- WARREN ADD delivery date -->
    <xsd:element name="delivery_date" type="xsd:date"/>
    <!-- definition of attributes -->
    
    <!-- definition of complex type elements -->
    <xsd:element name="pdp_file">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="header"/>
                <xsd:element maxOccurs="unbounded" minOccurs="1" ref="group"/>
                <xsd:element ref="trailer"/>
            </xsd:sequence>
            <xsd:attribute name="version" type="versionType" use="required"/>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:element name="accounting">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="0" ref="coa_cd"/>
                <xsd:element maxOccurs="1" minOccurs="1" ref="account_nbr"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="sub_account_nbr"/>
                <xsd:element ref="object_cd"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="sub_object_cd"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="org_ref_id"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="project_cd"/>
                <xsd:element ref="amount"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:element name="header">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="chartcampus"/>
                <xsd:element ref="unit"/>
                <xsd:element ref="sub_unit"/>
                <xsd:element ref="creation_date"/>
                <!-- BEGIN UCI CODE KFSI-142 -->
                <xsd:element maxOccurs="1" minOccurs="0" ref="generate_gl_entries"/>
                <!-- END UCI CODE -->
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:element name="trailer">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="detail_count"/>
                <xsd:element ref="detail_tot_amt"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:element name="group">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="payee_name"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="payee_id"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="payee_own_cd"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="customer_institution_identifier"/>
                <!-- BEGIN UCI CODE: [KFSI-98] INT-PDP-003 Payment Upload Using PURAP Vendor-->
                <xsd:element maxOccurs="1" minOccurs="0" name="extension">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element maxOccurs="1" minOccurs="0" name="address_id" type="kfs:oneToTenCharType"/>
			                                            
			                <!-- UCI CODE KFSI-470 -->
			                <!-- WARREN DELETE <xsd:element maxOccurs="1" minOccurs="0" ref="tax_type_cd" /> --> 
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element maxOccurs="1" minOccurs="0" ref="address1"/>
                <!-- END UCI CODE -->
                <xsd:element maxOccurs="1" minOccurs="0" ref="address2"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="address3"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="address4"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="city"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="state"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="zip"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="country"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="campus_address_ind"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="payment_date"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="attachment_ind"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="special_handling_ind"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="taxable_ind"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="nra_ind"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="combine_group_ind"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="bank_code"/>
                <!-- BEGIN UCI CODE: [FSI-142] INT-PDP-004 Manual/Local Check Upload --> 
                <xsd:element maxOccurs="1" minOccurs="0" ref="disbursement_date" /> 
                <xsd:element maxOccurs="1" minOccurs="0" ref="disbursement_number" /> 
                <xsd:element maxOccurs="1" minOccurs="0" ref="disbursement_type" /> 
                <xsd:element maxOccurs="1" minOccurs="0" ref="pmt_stat_cd" />
                <!-- END UCI -->
                
                <!--  Default check stub holds 27 note lines.  There is a line printed for each detail
                      so the number of detail items on a check needs to be subtracted from the 
                      total allowed note lines.  This can't be enforced in the schema so it is possible
                      to provide too many note lines in some cases.  This rule will be enforced in
                      code. 
                      
                      Because of this, the maximum number of detail segments is 27 (assuming they 
                      have no notes).
                      
                      If your check stub holds more or less than 27 note lines, you need to change this,
                      the maximum number of detail segments in this file and the setting MAX_NOTE_LINES
                      in the application settings file.
                      -->
                <!-- BEGIN UCI CODE KFSI-4582 up limit to 200 payment details
                <xsd:element maxOccurs="27" minOccurs="1" ref="detail"/>  -->
                <xsd:element maxOccurs="200" minOccurs="1" ref="detail"/>
                <!-- END UCI CODE KFSI-4582 -->
                <!-- BEGIN UCI CODE KFSI-191 -->
                <xsd:element maxOccurs="1" minOccurs="0" ref="capital_asset_information"/>
                <!-- END UCI CODE KFSI-191 -->
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:element name="detail">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="source_doc_nbr"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="invoice_nbr"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="po_nbr"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="req_nbr"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="org_doc_nbr"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="invoice_date"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="orig_invoice_amt"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="net_payment_amt"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="invoice_tot_discount_amt"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="invoice_tot_ship_amt"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="invoice_tot_other_debits"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="invoice_tot_other_credits"/>
                
                <xsd:element maxOccurs="1" minOccurs="0" ref="fs_origin_cd"/>
                <xsd:element maxOccurs="1" minOccurs="0" ref="fdoc_typ_cd"/>
                <!-- WARREN ADD extension -->
                <xsd:element maxOccurs="1" minOccurs="0" name="extension">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element maxOccurs="1" minOccurs="0" name="address_id" type="kfs:oneToTenCharType"/>
			                                            
			                <!-- UCI CODE KFSI-470 -->
			                <!-- WARREN ADD -->
			                <xsd:element maxOccurs="1" minOccurs="0" ref="use_tax_type_cd" />
			                <xsd:element maxOccurs="1" minOccurs="0" ref="delivery_date" />
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
                <xsd:element maxOccurs="unbounded" minOccurs="1" ref="accounting"/>
                <!--  Default check stub holds 27 note lines.  There is a line printed for each detail
                      so the number of detail items on a check needs to be subtracted from the 
                      total allowed note lines.  This can't be enforced in the schema so it is possible
                      to provide too many note lines in some cases.  This rule will be enforced in
                      code. 
                      
                      Because of this, the maximum note lines a detail can have is 26 (assuming there
                      is only one detail in the payment group).
                      
                      If your check stub holds more or less than 27 note lines, you need to change this,
                      the maximum number of detail segments in this file and the setting MAX_NOTE_LINES
                      in the application settings file.
                      -->
                <xsd:element maxOccurs="26" minOccurs="0" ref="payment_text"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    
    <xsd:element name="payee_id">
        <xsd:complexType>
            <xsd:simpleContent>
                <xsd:extension base="kfs:oneToTwentyFiveCharType">
                    <xsd:attribute name="id_type" type="kfs:oneAlphaType" use="required"/>
                </xsd:extension>
            </xsd:simpleContent>
        </xsd:complexType>
    </xsd:element>    
    
    <!-- BEGIN UCI CODE KFSI-191 -->
    <xsd:element name="capital_asset_information">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element minOccurs="0" maxOccurs="1" ref="new_asset"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="existing_asset"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
    <xsd:element name="existing_asset">
		<xsd:complexType>
			<xsd:all>
				<xsd:element minOccurs="0" maxOccurs="1" ref="asset_number"/>
			</xsd:all>
		</xsd:complexType>
	</xsd:element>	
	
    <xsd:element name="new_asset">
		<xsd:complexType>
			<xsd:sequence>			
				<xsd:element minOccurs="0" maxOccurs="1" ref="asset_type_code"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="vendor_number"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="asset_manufacturer_name" />
				<xsd:element minOccurs="0" maxOccurs="1" ref="asset_manufacturer_model_number"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="asset_description"/>
				<xsd:element minOccurs="0" maxOccurs="unbounded" ref="asset_info_detail"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>	
	
	<xsd:element name="asset_info_detail">
		<xsd:complexType>
			<xsd:all>
				<xsd:element minOccurs="0" maxOccurs="1" ref="asset_tag_number"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="asset_serial_number"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="campus_code"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="building_code"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="building_room_number"/>
				<xsd:element minOccurs="0" maxOccurs="1" ref="building_sub_room_number"/>
			</xsd:all>
		</xsd:complexType>
	</xsd:element>
    <!-- END UCI CODE KFSI-191 -->
</xsd:schema>

...