There are two classes that were created for the purpose of loading new lease applications along with all the information needed to complete the booking of the lease: MsiAppOriginator and MsiAppOriginatorDocLit. These work basically the same and were just two different methodologies for writing classes. MsiAppOriginator is the more robust option as more has been added to this class.
Under MsiAppOriginator there are a number of methods. Four of these methods are the same in the sense that they load data from the same xml structure. The difference between the methods is whether you want to indicate who is doing the data load and if you want detailed messages returned. The two service and their methods are:
Following are the minimum records required to book a basic contract in LeasePak:
Following are the basic steps to book an application and to create records in LeasePak using mPower web services:
Example:The follwoing steps are defined to help users to book a contract via MsiAppOrginator→createAppAsUserRetMsg method as an example. Users can choose to use any of the above listed methods of the two web services of MsiAppOriginator or MsiAppOrginatorDocLit to create a record or to book a contract.
Skip this step if lessee record already exist in LeasePak.
Assuming that follwoing is the information available for a lessee record for a lessee needing to lease a piece of equipment or vehicle:
Name | TIM BAKER |
SSN/Bus ID | 123456789 |
Address | 50 MARINER SQUARE LOOP ALAMEDA CA 94501 (503)663-9492 |
Remit address code | NETS Previously created through U0704 |
Payment due day | 1 |
PCRO | 2111 |
Prepare an XML document with above information and submit to:
<?xml version="1.0"?> <MSI_APP_ORIG> <LESSEE_RECORD> <shortname>TIM BAKER</shortname> <ssnBusinessID>123456789</ssnBusinessID> <address1>Mariner Square Loop</address1> <city>ALAMEDA</city> <state>CA</state> <zipCode>94501</zipCode> <remittanceAddress>NETS</remittanceAddress> <paymentDueDay>10</paymentDueDay> <portfolio>1</portfolio> <company>1</company> <region>1</region> <office>1</office> </LESSEE_RECORD> </MSI_APP_ORIG>
Follwoing is the list of minimum required lessee fields with their descriptions:
U0203 Lessee Form | ||||||
Sr.# | Element | Tab | Field Name | Type(Size) | Required | Description |
LESSEE_RECORD | ||||||
1 | clientNumber | 1 | Lessee number | string(9) | C | New lessee number is auto assigned if not provided. Lesee number is not required while adding a new record but it is required to update an exisiting record. If user provides this number while adding a new record, it will be assigned to new record unless a lessee record already exists with that number. |
2 | shortname | 1 | Short Name | string(20) | M | Required lessee short name maximum 20 characters |
3 | ssnBusinessID | 1 | SS/Bus ID | string(9) | M | Social security number or business ID |
4 | address1 | 1 | Address 1 | string(36) | M | Lessee street address |
5 | city | 1 | City | string(25) | M | City Name |
6 | state | 1 | State | string(2) | M | State Abbreviation |
7 | zipCode | 1 | Zip | string(9) | M | The postal/zip code, up to 9 characters maximum length |
8 | remittanceAddress | 2 | Remit Address | string(4) | M | Appropriate remittance address code, established through the Auxiliary Address update [U0704] |
9 | paymentDueDay | 2 | Pmt Due Day | integer | M | Day of the month on which the lease payments are due (1 to 31) |
10 | portfolio | 4 | Portfolio | string(2) | M | Appropriate portfolio number setup through [U0212] - Portfolio |
11 | company | 4 | Company | string(2) | M | Appropriate company setup through [U0208] - Company |
12 | region | 4 | Region | string(2) | M | Appropriate region setup through [U0207] - Region |
13 | office | 4 | Office | string(3) | M | Appropriate office setup through [U0206] - Office |
The response of method createAppRetMsg will provide a new lessee number. Use this lessee number for application record. In the follwoing response XML the created lessee number by method createApplicationRetMsg is 2:
<?xml version="1.0"?> <MSI_APP_ORIG_MSGS> <RESULT_RECORD> <TYPE>INFO</TYPE> <RECORD>LESSEE_RECORD</RECORD> <KEY>2</KEY> <FIELD>clientNumber</FIELD> <MSGCODE>3004</MSGCODE> <MSGTEXT>New Lessee number is:2</MSGTEXT> </RESULT_RECORD> </MSI_APP_ORIG_MSGS>The above XML has multiple elements with data. The
<KEY>
element provides a number for the newly created lessee record. In the above XML response the lessee number is 2. Use this <KEY>
element data for the lessee number for next step to create an application. This lessee number will be required to put in the input parameter of APPLICATION_RECORD record, <lessee>
element.
Create an application with following information:
Prepare an XML document with above information and submit to createAppRetMsg method of MsiAppOriginator service:
<?xml version="1.0"?> <MSI_APP_ORIG> <APPLICATION_RECORD> <lessee>2</lessee> <portfolio>2</portfolio> <company>1</company> <region>1</region> <office>1</office> <generalDescription>TIM BAKER BASIC APPLICATION</generalDescription> <term>10</term> <dueDate>1</dueDate> <openCloseLeaseType>O</openCloseLeaseType> <businessPersonal>P</businessPersonal> <leaseDate>05/01/17</leaseDate> <commencementDate>05/01/17</commencementDate> <disbursementDate>05/01/17</disbursementDate> <acquisitionCost>1000.00</acquisitionCost> <formCode>PERC</formCode> <lateChargeAsmt>PERC</lateChargeAsmt> <delinquencyWatchCode>10</delinquencyWatchCode> <gracePeriodInDays>10</gracePeriodInDays> <useTaxExemptCode>NONE</useTaxExemptCode> <npvDiscountRate>1.00000</npvDiscountRate> <statementCode>I</statementCode> <billingLevel>L</billingLevel> <leaseSource>DRCT</leaseSource> <automaticChargeOff>N</automaticChargeOff> <payment_Code_0>MON</payment_Code_0> <payment_Freq_0>10</payment_Freq_0> <payment_Amount_0>105.00</payment_Amount_0> <lessorAccrualMethod>RAPR</lessorAccrualMethod> <leaseTypeCode>FIN</leaseTypeCode> </APPLICATION_RECORD> </MSI_APP_ORIG>
Following is the list of minimum required application fields with descriptions:
U0801 Application Form | ||||||
Sr.# | Element | Tab | Field Name | Type(Size) | Required | Description |
APPLICATION_RECORD | ||||||
1 | lessee | 1 | Lessee | string(9) | M | Provide an existing lessee number. If lessee does not exist then create a new lessee and provide lessee number:
|
2 | portfolio | 1 | Portfolio | string(2) | M | Appropriate portfolio number setup through Portfolio - [U0212] update. |
3 | company | 1 | Company | string(2) | M | Appropriate company setup through Company - [U0208] update. |
4 | region | 1 | Region | string(2) | M | Appropriate region setup through Region - [U0207] update. |
5 | office | 1 | Office | string(3) | M | Appropriate office setup through Office - [U0206] update. |
6 | generalDescription | 1 | Description | string(36) | M | General lease description up to 36 characters text |
7 | term | 3 | Terms | integer | M | Total term of the lease in months |
8 | dueDate | 3 | Payment Due Day | integer | M | Day of the month on which the lease payments are due (1 to 31) |
9 | openCloseLeaseType | 3 | Open or Close Ended | string(1) | M | C - Closed O - Open Ended |
10 | businessPersonal | 3 | Business or Personal | string(1) | M | B - Business P - Personal |
11 | leaseDate | 3 | Contract Date | date | M | Contract date in MM/DD/YY format |
12 | commencementDate | 3 | Commencement Date | date | M | Lease commencement date in MM/DD/YY format |
13 | disbursementDate | 3 | Disbursement Date | date | M | Accounts payable disbursement date in MM/DD/YY format |
14 | acquisitionCost | 4 | Acquisition Cost | decimal(15,2) | M | Total acquisition cost of this contract |
15 | formCode | 5 | Form Code | string(4) | M | Appropriate lease form code setup through Lease Form - [U0721] update. |
16 | lateChargeAsmt | 5 | Late Charge code | string(4) | M | Late Charge Methods:
|
17 | delinquencyWatchCode | 5 | Delinquency Watch | strin(4) | M | Delinquency Watch:
|
18 | gracePeriodInDays | 5 | Grace Period | integer | M | Grace period in days to wait for late charge assessment |
19 | useTaxExemptCode | 5 | Use Tax Exempt Code | string(4) | M | Use Tax Exempt Codes:
|
20 | npvDiscountRate | 5 | NPV Discount Rate | decimal(8,5) | C | Payoff discount rate, provide if applicable |
21 | statementCode | 7 | Statement Code | string(1) | M | Stataement Code:
|
22 | billingLevel | 7 | Billing Level | string(1) | M | Billing Level:
|
23 | leaseSource | 7 | Source Code | string(4) | M | Appropriate lease source code from available codes in 'DIR' category in [U0722] |
24 | automaticChargeOff | 7 | Automatic Charge Off | string(1) | C | Automatic Charge-off
|
25 | payment_Code_0 | 8 | Frequency | string(4) | M | MON - Monthly |
26 | payment_Freq_0 | 8 | Number | integer | M | Number of months |
27 | payment_Amount_0 | 8 | Amount | decimal(15,2) | M | Monthly payment amount |
28 | lessorAccrualMethod | 9 | Lessor Accrual Method | string(4) | M | RAPR - ARRP LEVEL YIELD |
29 | leaseTypeCode | 9 | Contract Type | string(4) | M | FIN - Finance |
The response of method createAppRetMsg will provide a new application number. Use this application number for the insurance and asset records. In the following response XML the created application number by method createAppRetMsg is 50:
<?xml version="1.0"?> <MSI_APP_ORIG_MSGS> <RESULT_RECORD> <TYPE>INFO</TYPE> <RECORD>APPLICATION_RECORD</RECORD> <KEY>50</KEY> <MSGTEXT>New Application Created: 50</MSGTEXT> </RESULT_RECORD> </MSI_APP_ORIG_MSGS>The above response XML
<KEY>
element provides a number for the newly created application. Consider the XML response provided application number to create an asset record. This application number is required to put in the input parameter of ASSET_RECORD record, <applicationNumber>
element.
Skip this step if vendor record already exists in LeasePak with required field data.
Assume that the following information is available for a vendor (asset's supplier) record that is required in LeasePak:
Prepare an XML document with above information and submit to createAppRetMsg method of MsiAppOriginator service:
<?xml version="1.0"?> <MSI_APP_ORIG> <VENDOR_RECORD> <shortname>RELIABLE BUSINESS EQUIP</shortname> <name>RELIABLE BUSINESS EQUIP</name> <address1>708 CARDLEY AVE.</address1> <city>SAN MATEO</city> <state>CA</state> <zipCode>94035</zipCode> <busPhone>4153480566</busPhone> <portfolio>2</portfolio> <company>1</company> <region>1</region> <office>1</office> </VENDOR_RECORD> </MSI_APP_ORIG>
The response service will provide a new vendor number that is required to use in the asset record. In this example the newly created vendor number is 40.
<?xml version="1.0"?> <MSI_APP_ORIG_MSGS> <RESULT_RECORD> <TYPE>INFO</TYPE> <RECORD>VENDOR_RECORD</RECORD> <KEY>40</KEY> <FIELD>clientNumber</FIELD> <MSGCODE>3002</MSGCODE> <MSGTEXT>New Vendor number is:40</MSGTEXT> </RESULT_RECORD> </MSI_APP_ORIG_MSGS>Consider the
<KEY>
element data to use in the ASSET_RECORD for <supplier>
element to create an asset.
Create an asset record for newly (above) created Application 50 with following information:
Prepare an XML document with above information and submit to createAppRetMsg method of MsiAppOriginator service:
<?xml version="1.0"?> <MSI_APP_ORIG> <ASSET_RECORD> <applicationNumber>50</applicationNumber> <description>Computer and Peripherals</description> <address1>1624 Franklin St</address1> <city>OAKLAND</city> <equipmentCounty>ALAMEDA</equipmentCounty> <state>CA</state> <zipCode>94501</zipCode> <acquisitionCost>1000.00</acquisitionCost> <assetClass>E</assetClass> <identification>50001</identification> <acquisitionDate>05/01/17</acquisitionDate> <inServiceDate>05/01/17</inServiceDate> <supplier>40</supplier> <newUsed>N</newUsed> <taxType>TLC</taxType> <assetStatus>AINV</assetStatus> <taxPaymentCode>NONR</taxPaymentCode> <itcTakeBypassCode>BYPS</itcTakeBypassCode> <useTaxExemptCode>EA3P</useTaxExemptCode> <pptExemptCode>NONE</pptExemptCode> <assessmentTaxclass>NONE</assessmentTaxclass> <federalMethodOfDepreciation>BY03</federalMethodOfDepreciation> <stateDepreciationMethod>BY03</stateDepreciationMethod> <federalAMTMethod>BY03</federalAMTMethod> <bookAccountingMethod>FIN</bookAccountingMethod> <bookDepreciationMethod>BY03</bookDepreciationMethod> <bookDepreciationDate>05/01/17</bookDepreciationDate> <uccTitleFilingType_0>NONE</uccTitleFilingType_0> </ASSET_RECORD> </MSI_APP_ORIG>
Following is the list of minimum required asset fields and descriptions for creating an asset record:
U0801 Asset | |||||
Sr.# | Element | Tab | Field Name | Required | Description |
ASSET_RECORD | |||||
1 | applicationNumber | Application | M | Existing application number | |
2 | assetNumber | Asset Number | C | New asset number is auto assigned if it's left blank. Required to update an existing asset record. | |
3 | description | 1 | Description | M | General asset description up to 36 characters text |
4 | address1 | 1 | Address 1 | M | Asset street address |
5 | city | 1 | City (Eq) | M | City in which the asset is located |
6 | equipmentCounty | 1 | County (Eq) | M | County in which the asset is located |
7 | state | 1 | State | M | State in which the asset is located |
8 | zipCode | 1 | Zip | M | The postal/zip code, up to 9 characters maximum length |
9 | acquisitionCost | 1 | Acquisition Cost | M | Original acquisition cost of the asset. |
10 | assetClass | 1 | Class | M | Asset Class
|
11 | identification | 2 | Identification | M | The asset identification (e.g., the serial number of the asset) |
12 | acquisitionDate | 2 | Acquisition Date | M | Asset acquisition date in MM/DD/YY format |
13 | inServiceDate | 2 | In-service Date | M | Asset in-service date in MM/DD/YY format |
14 | supplier | 2 | Supplier | M | Provide an existing suuplier/vendor number. If supplier/vendor does not exist then create a new vendor and provide vendor number:
|
15 | newUsed | 5 | New/Used | M | N - New U - Used |
16 | taxType | 5 | Tax Type | M | Tax Type
|
17 | assetStatus | 5 | Status at Book | M | AINV - Available in Inventory |
18 | taxPaymentCode | 5 | Use Tax Code | M | ALL - State, County, City |
19 | itcTakeBypassCode | 5 | ITC Code | M | BYPS - Bypass |
20 | useTaxExemptCode | 5 | Use Tax Exempt Code | M | NONE - Ast Not Stax Exmpt |
21 | pptExemptCode | 5 | PPT Tax Exempt Code | M | NONE - Not Rpt Exmpt |
22 | assessmentTaxclass | 5 | Assessment Tax Class | M | NONE - Default Tax Class |
23 | federalMethodOfDepreciation | 6 | Federal Depreciation | M | BY03 - Bypas Class 3Y |
24 | stateDepreciationMethod | 6 | State Depreciation | M | BY03 - Bypas Class 3Y |
25 | federalAMTMethod | 6 | Alt Min Tax Depreciation | M | BY03 - Bypas Class 3Y |
26 | bookAccountingMethod | 6 | Book Accounting | M | FIN - Finance OPER - Operating |
27 | bookDepreciationMethod | 6 | Book Depreciation | M | BY03 - Bypas Class 3Y |
28 | bookDepreciationDate | 6 | Book Depr Date | M | Book depreciation start date in MM/DD/YY format |
29 | uccTitleFilingType_0 | 6 | Title Filings - Type | M | NONE - None |
The response service will provide the new asset number. The newly created asset number is 78 in the follwoing response XML:
<?xml version="1.0"?> <MSI_APP_ORIG_MSGS> <RESULT_RECORD> <TYPE>INFO</TYPE> <RECORD>ASSET_RECORD</RECORD> <KEY>78</KEY> <MSGTEXT>New Asset Created: 78</MSGTEXT> </RESULT_RECORD> </MSI_APP_ORIG_MSGS>The
<KEY>
element provides the newly created asset number. This asset is now attached to an application 50 as in the input the provided application number was 50.
To add an insurance record, first create an XML document with insurance type NTRQ (Not Required) along with application number and submit to createAppRetMsg method of MsiAppOriginator service.
<?xml version="1.0"?> <MSI_APP_ORIG> <INSURANCE_RECORD> <appLeaseNumber>50</appLeaseNumber> <insuranceType_0>NTRQ</insuranceType_0> </INSURANCE_RECORD> </MSI_APP_ORIG>
The response service will send back a successful informational message with application number.
<?xml version="1.0"?> <MSI_APP_ORIG_MSGS> <RESULT_RECORD> <TYPE>INFO</TYPE> <RECORD>INSURANCE_RECORD</RECORD> <KEY>50</KEY> <MSGTEXT>Record update succeeded: 50</MSGTEXT> </RESULT_RECORD> </MSI_APP_ORIG_MSGS>The
<KEY>
is the application number on which an insurance record has been added. <MSGTEXT>
explains that the Application # 50 has been updated successfully for insurance.
Run Application → Book Requirements to perform book requirements process. Normal Book Requirements checks all data that has been entered in association with the application, including Asset data, Lessee data, and data entered on the Insurance screens. It may take some time for LeasePak to check all related data against book requirements and display the results.
Currently, there is no web service available to run book requirements process without human interaction. So, this step of book requirements requires users to login to LeasePak client and run book requirements interactively by selecting Application from Application Tracking → Work Schedule screen. If the application does not appear in the work schedule then user can still select this application from U0801 Application → Book Requirements.
To approve an application users must first change the status of the selected application to APRV. Applications status can be changed to approve by performing following steps:
User can retrieve application current status by following method:
The response service will send back the following XML with current application status, application owner initials, and 2 checksum elements:
<?xml version="1.0"?> <MSI_APP_ORIG> <APP_STATUS_XFER_FETCH> <appNumber>50</appNumber> <curStatus>ENTR</curStatus> <curOwner>MNS</curOwner> <dapcksum>c4d447a26dd9940730f5d46e94983595</dapcksum> <ddmcksum>2f0a644d9089453e8a3a1331634c0adc</ddmcksum> </APP_STATUS_XFER_FETCH> </MSI_APP_ORIG>
The dapcksum
and ddmcksum
elements are mandatory; these elements are required to send to applicationStatusTransfer method of MsiAppOriginatorDocLit to change the status of application to APRV:
<?xml version="1.0"?> <APP_STATUS_XFER> <appNumber>50</appNumber> <!--newOwner>MNS</newOwner--> <newStatus>APRV</newStatus> <dapcksum>c4d447a26dd9940730f5d46e94983595</dapcksum> <ddmcksum>2f0a644d9089453e8a3a1331634c0adc</ddmcksum> </APP_STATUS_XFER>
The response service will send back an informational message as <INFO≫ if the status is successfully transferred to approved.
<?xml version="1.0"?> <APP_STATUS_XFER> <INFO>Application Status Transferred. </INFO> </APP_STATUS_XFER>
Application can only be booked once it is approved. After performing all above steps from Step 1 to Step 7, the application is ready to book now.
Book this application using batchApplication method of MsiAppOriginator service. We only need to provide the application number and FALSE in the other two elements pendingAssetsOnly and disburseChecks in order to book application.
Following is the sample input SOAP message to submit to batchApplication
method of MsiAppOriginator
service:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:MsiAppOriginator"> <soapenv:Header/> <soapenv:Body> <urn:batchApplication> <urn:applicationNumber>50</urn:applicationNumber> <urn:pendingAssetsOnly>false</urn:pendingAssetsOnly> <urn:disburseChecks>false</urn:disburseChecks> </urn:batchApplication> </soapenv:Body> </soapenv:Envelope>
The following list of elements explains the minimum required fields for batchApplication with descriptions:
U0101 Batch Application | ||||
Sr.# | Element | Field Name | Required | Description |
1 | applicationNumber | Application | M | Existing application number at APRV status |
2 | pendingAssetsOnly | Process Pending Asset Only | M | true - Indicates to process pending assets false - Indicates to book application along with pending assets |
3 | disburseChecks | Disburse Accounts Payable | M | true - Disburse account payable checks after booking this application false - Do not disbuse checks |
The response service will send back an informational message as <INFO> to inform the user that the application has been booked successfully.
<?xml version="1.0"?> <MSI_APP_ORIG_MSGS> <INFO>APPLICATION: TIM BAKER BASIC APPLICATION</INFO> <INFO>Pending Assets: Both applications and assets will be booked</INFO> <INFO>Asset 78: Pending asset booked successfully.</INFO> <INFO>Application 50: Pending application booked successfully.</INFO> </MSI_APP_ORIG_MSGS>
Users will need to verify that an application has been booked successfully by logging into the LeasePak client and viewing the follwoing reports for newly booked contract:
Legends For Required | |
M | Mandatory / Required |
C | Conditional |