RTO Pro Help File

Taking Customer Applications through the internet

Taking Customer Applications through the internet

Previous topic Next topic  

Taking Customer Applications through the internet

Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic!  

Comments (...)

There are 2 ways you can accept applications from the internet using RTO Pro, both of these options will be explained below.


1. Use the RTO Pro Web Services Application feature, see the page here for an example of how it could look, but of course your application page would have your logos, colors, banners etc. https://rtowebpay.com/apps/default.aspx?id=0B440004450301

This service is included with the RTO Pro support plan, there is no additional charge to use it. If you use this feature no programming on your website would be required, you would simply add a link or button on your website that directs your customers to the application page we design for you. When a customer submits an application online it would be imported into RTO Pro automatically.


If you wish to use this method call 800-351-6299 and we will set you up.




2. Design and develop your own web page to accept applications online and do the programming and setup required yourself or hire a developer to do it for you. Using this option your applications would also be imported into RTO Pro automatically, but most stores would have to hire a developer in order to set their website up correctly to take the applications online.


If you wish to use this option the instructions are below that you would need to follow to set it up on your website. If you wish to make your own web page to accept applications we do not provide support for setting up your website, (S)FTP service or any other facets of the web applications development, setup or testing process. The only support we provide is the information on this page.





It is possible to setup a web page to allow your customers to enter applications for rentals / sales via the internet and to automatically import this application info into RTO Pro. Agreement and inventory info can also be imported so a complete customer application and order can be placed on your website and then imported into RTO Pro automatically. This help topic will walk you through the process of setting this up. Please note the programming and design on your website are not included in support with RTO Pro, you will have to get a web designer or create the web pages yourself.


There are 4 components required to allow applications via the internet, each are described below.


1. In RTO Pro under the "Other" tab in Store Setup enable the application import feature in RTO Pro. To do this you will enter the FTP information that must be setup on your website to allow RTO Pro to download the applications. The file "c:\rtowin\ImportApplications.exe" is the program that will check for pending application entered online and import them into RTO Pro, so make sure you set your firewall to allow this program access to the internet. You must also choose the customer "Status/Rating" you want to assign to represent pending web applications.


When this feature is enabled your system will check every 15 minutes for pending applications(there is a button you can click to check for applications manually anytime you wish). When pending applications are received you will be notified. To view pending applications you can click on the "View Pending Web Applications" button on the payment screen or the Point of Sale menu in RTO Pro.


2. A web page on your website that will collect the customer application information. What information you collect is up to you however the field names in the XML files must match the field names that are described at the bottom of this help topic or they will not import into RTO Pro (in our example code the input text names from the HTML file become the XML field names). Note RTO Pro DOES NOT create your web pages for you. See below for a sample HTML file or click here.


3. A CGI or script file to handle the posted data and save it to an XML file, this could be included in your web page instead of a separate script file. See below for a sample Perl script file or click here. To see a sample XML file (the file your script will create) click here. The script file should be programmed to save the XML file in a password protected folder so the files are not accessible to anybody on the internet. This folder is where you setup the FTP account to connect to.


4. An FTP or SSH/SFTP account on the server that hosts your website that will enable RTO Pro to connect to the folder XML files are saved and retrieve the XML files that are created when a customer fills out an application online. You enter the FTP account info in Store Setup in RTO Pro under the "Other" tab. Please note SSH/SFTP (Secure FTP) is recommended since personal info such as social security numbers can be included in the customer application data.



To see this feature in action enter the test FTP info below in your store setup, and enter some sample customer data on this page: http://rtopro.com/testxml.html

Test FTP info:

FTP Address: ftp.rtopro.com

FTP User name: xmltest@rtopro.com

FTP password: xml12red

Please note if there are other users testing at the same time you may get info they entered or they may get info you enter.


The program in RTO Pro that actually connects via (S)FTP to your web server to retrieve the online application files is "importapplications.exe", it will be in the RTO Pro installation folder. Be sure you have your firewall configured to allow this program to access the internet or it will not be able to retrieve the applications.



Customer data that can be imported into RTO Pro.

Please note the field names or input names on the HTML file must match the names exactly as they are below, they are NOT case sensitive.


These fields may be imported as XML or CSV files.


You can require any data you wish on your web page, however the only data RTO Pro requires is the "NAME" or "FIRST" AND 'LAST" fields.        


Please note all date fields must be formatted "m/d/yyyy" or "m-d-yyyy". All dollar value fields must be passed without a dollar sign and without commas, for example pass $1,000.00 as "1000.00".


ACCOUNT                max 10 numeric characters Note this will be generated for new customers automatically, this should NEVER be passed for NEW customers. For existing customers this should be passed if known. If this is not passed a social security number search will be performed, if a match is found with the same SS# and last name the existing record will be used. No changes to the existing record will be made, any address or other info will have to be updated manually.


NAME                        max 35 characters  Full name formatted: LAST,FIRST. The first and last name can be sent separately instead, see below.

FIRSTNAME                First name if sending first and last separate.                        

LASTNAME                Last name if sending first and last separate.                        

ALTNAME                max 35 characters Co-Renter or spouse full name formatted: LAST,FIRST The first and last name can be sent separately instead, see below.

ALTFIRSTNAME        First name if sending first and last separate.                        

ALTLASTNAME        Last name if sending first and last separate.                        

ADDRESS                max 35 characters customers mailing address

APT                        max 35 characters Apartment info

CITY                        max 20 characters

STATE                        max 4 characters

ZIP                        max 10 characters

HMPHONE                max 12 characters Home Phone #

WKPHONE                max 12 characters Work Phone #

MESS                        max 12 characters Message phone #

CELL                        max 12 characters Cell phone #

PHONE5                max 12 characters Other phone #

WORKEXT                max 5 characters Extension for work #

DIRECTIONS                max 140 characters directions to home or physical address.

ZONE                        max 15 alpha-numeric characters. This is the customer zone / route.

RATING                max 1 character 0-9. If this value is not passed the default value for pending applications will be assigned to all imported applications, you set this up in Store Setup under the "Other" tab.


max 11 characters Primary social security number. Please note if SS1 is passed a check will be performed to see if there is a matching SS1 and last name in your customer records, if a match is found a new customer record would not be added.

SS2                        max 11 characters Co-renter / spouse social security number

DOB1                        date in format MM/DD/YYYY Primary date of birth

DOB2                        date in format MM/DD/YYYY C-renter / spouse date of birth

DL1                        max 25 characters Primary drivers license #

DL2                        max 25 characters Co-rent er / spouse drivers license #

EMAIL                        max 50 characters Email address

LANGUAGE                max 10 characters Language spoken

ACHACCT                max 17 characters Customer bank account number if they are setting up ACH payments

ACHROUTE                max 9 characters Customer bank route number if they are setting up ACH payments

ACHACCTTYPE        max 2 characters Customer bank account type if they are setting up ACH payments (must be one of the following "PC" = personal checking, "BC" = business checking, "PS" = personal savings, "BS" = business savings)

AUTOCHARGEFORM        0 = Autopay to be paid by Credit Card, 1 = Autopay to be paid by ACH (If customer's agreement(s) setup for Autopay) Note this field was added 12/17/2013


HOWLONGCURRENT        max 10 characters How long at current address

RENTERSEX                max 1 characters sex of renter

CORENTERSEX        max 1 characters sex of co-renter

RENTERHEIGHT        max 4 characters height of renter

CORENTERHEIGHT        max 4 characters height of co-renter

RENTERWEIGHT        max 4 characters weight of renter

CORENTERWEIGHT        max 4 characters weight of co-renter

RENTEREYES                max 6 characters eye color renter

CORENTEREYES        max 6 characters eye color co-renter

LANDLORDORMORT        max 35 characters landlord or mortgage company name

LANDLORDADDRESS        max 35 characters landlord / mortgage address

LANDLORDADDRESS2 max 35 characters landlord / mortgage address line 2

LANDLORDPHONE        max 12 characters landlord / mortgage phone number

PREVADDRESS        max 35 characters previous address

PREVCITYSTZIP        max 35 characters previous address line 2 (city state zip)

HOWLONGPREVIOUS        max 10 characters how long at previous address

WORK1                max 35 characters renters work place

WORKADD1                max 35 characters renters work address

WORKADD21                max 35 characters renters work address line 2

WORKPH1                max 12 characters renters work #

WORKEXT1                max 8 characters        extension for work #

WORKSUPER1        max 35 characters work supervisor

WORKSTARTED1        max 15 characters work when started

OCCUPATION1                max 15 characters renters occupation / job title

HOURS1                max 15 characters work hours

PAYDAY1                max 15 characters pay day

WORK2                max 35 characters co-renters work place

WORKADD2                max 35 characters co-renters work address

WORKADD22                max 35 characters co-renters work address line 2

WORKPH2                max 12 characters co-renters work phone #

WORKEXT2                max 8 characters co-renters work extension

WORKSUPER2        max 35 characters co-renters supervisor name

WORKSTARTED2        max 15 characters co-renters started work

OCCUPATION2                max 15 characters co-renters job title

HOURS2                max 15 characters co-renters hours

PAYDAY2                max 15 characters co-renters pay day

CAR1                        max 30 characters vehicle #1 info

LPLATE1                max 15 characters vehicle #1 license

CAR2                        max 30 characters vehicle #2 info

LPLATE2                max 15 characters vehicle #2 license

COMMENTS                max 1000 characters this could be used to hold order info or requested merchandise, prices etc.

PAYPERIOD                max 15 characters pay period for renter

PAYAMT                Decimal(18,2), pay amount for renter

ADSOURCE                max 15 characters ad source... where did they hear about you

BANKNAME                max 20 characters bank name for non ACH purpose

BANKPHONE                max 12 characters bank phone #

BANKACCT                max 20 characters bank account number for non ACH purpose



REFERENCE1                max 35 characters reference #1 name

REFADD1                max 35 characters reference #1 address

REFADD21                max 35 characters reference #1 address line 2

REFRELATION1        max 15 characters reference #1 relation to renter

REFPHONE1                max 12 characters reference #1 phone number


the fields above can be repeated for up to 6 references, the 2 at the end below (highlighted in yellow) can be changed to 3,4,5 or 6.


REFERENCE2                max 35 characters

REFADD2                max 35 characters

REFADD22                max 35 characters

REFRELATION2        max 15 characters

REFPHONE2                max 12 characters





Agreement and inventory info that can be imported into RTO Pro

Please note all value fields below such as "PMT", "AMTPAID" must be passed without a dollar sign and without commas, for example pass $1,000.00 as "1000.00". Note there are no minimum requirements for agreement info, agreement info does not have to be passed at all to just load a pending customer without a pending agreement attached.


CONTRACT                max 10 characters. Note this will be generated automatically if not passed.

DUEDATE                the contracts next due date after any down payment

CONTRACTDATE        the date the agreement starts

PMT                        The total pre-tax rent only amount of the payment. Note if you are including inventory items in the imported data send the rates in the individual items(see "rate1-10" below) and leave this as 0.00.

GRP                        DWF / LDW amount per term

CONTRACTAMT        Total contract amount (pmt x payments). This will be calculated automatically if not passed

AMTPAID                Total paid down, including rent, DWF, other charges and tax. Customer deposit IS NOT included.

OTHERPAID                Other charges paid down, delivery / processing etc.

OTHERDUE                Any other charges that will be payable next payment

CHARGESDUE                Number of payments paid down (note this will be calculated automatically from AMTPAID, no need to send both).

CONTYPE                Contract type R, L, T, G or O (R for Rent to Own will be default if not passed).

TERM                        Payment term W = weekly, M = monthly, B = bi-weekly, S = semi-monthly

PAYMENTS                Total number of payments entire contract

BILLED                        1 = This contract should be billed or invoiced automatically (12/31/1899 can also be passed to mean the same thing also, any other date passed would mean the last date this contract was invoiced).

CASHPRICE                Total cash price for ALL inventory on the contract

SACDATE                Same as Cash expiration date

CLUBFEE                Club fee per payment

PAYOFFDISCOUNT        Payoff discount (discount off balance for EPO (.4 = 40% discount off balance) or % of rent that comes off cash for EPO calculation (.6 = 60% of rent comes off cash price), depending on your store settings). Only needed when you have different discounts for different contracts.

SALESMAN                Max 15 characters. Salesman who sold the agreement, should be the employees 3 character employee ID normally.

AUTOCHARGEPMTS        1 = this agreement will be setup for Autopay

AUTOCHARGEB4DUE        If setup for Autopay, how many days before the due date should it be paid on (1 = pay 1 day BEFORE due date, -1 = pay 1 day AFTER due date)

TAXRATE                The tax rate that applies to this agreement .06 = 6%

TAXZONE                max 15 alpha-numeric characters. This is the tax zone record identifier in RTO Pro for this agreement (only required for destination based sales tax states).

STORE                        Store # this agreement is for. Only needed for central server systems.


The fields below are to identify inventory on contracts. Up to 10 inventory items can be included for each contract. Each field should be followed by a number 1-10 to specify which line number it is on the agreement (MODEL1, MODEL2 ... MODEL10 etc.)

MODEL1-10                max 15 alpha characters. Model number of inventory rented 1 - 10        

SERIAL1-10                max 30 alpha characters. Serial number of inventory rented 1 - 10. Note if model is passed but not serial number a purchase order item will be generated. If model and serial is passed and the item is not present in inventory it will be received.

DESCRIPTION1-10        max 250 characters. Description of inventory rented 1 - 10. If not passed description will be retrieved from master model records, if present.

RATE1-10                Payment amount for each inventory item. Note if you are including inventory items in the imported data pass the rates here only and leave the "PMT" field see above) as 0.00.

STOCK1-10                Up to 15 Numeric characters. Stock number for the inventory (optional)

BRAND1-10                Up to 15 alpha-numeric characters. Brand or manufacturer of the inventory

DATEREC1-10                Date received. This will be set as today's date if not passed.

VENDOR1-10                Up to 15 alpha-numeric characters. Vendor or supplier of the product.

COST1-10                Cost of the inventory (your cost, what you paid for it)

AGENT1-10                Floor plan agent, for depreciation purposes. If not passed the only allowed agent or last agent used will be used (see store setup for only allowed agent setting).

BOR1-10                YES or NO, YES is the default if not passed. Yes = this item counts toward BOR numbers, No= it does not.

CATEGORY1-10        Category for the inventory. Up to 15 alpha characters. If it is a sub-category up to 31 characters formatted like "MAIN:SUB".

INVOICE1-10                Invoice number for this inventory

RETAIL1-10                Retail or Cash price for this item.

RTO1-10                RTO field. See the help topic here for more info on how this field is used.

INVCOMMENTS1-10        Up to 200 alpha-numeric characters. Inventory comments.

CONDITION1-10                Up to 15 alpha-numeric characters. Normally one of the following: "EXCELLENT", "GOOD", "FAIR", "POOR". Optional and only needed for USED merchandise.











Sample Perl script file




use strict;

use CGI;

use CGI::Carp 'fatalsToBrowser';


# instantiate a CGI object

my $obj = new CGI;


# start some basic HTML output

print $obj->header,




my $f_lock = '2';

my $f_unlock = '8';



my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

$year += 1900; ## $year contains no. of years since 1900, to add 1900 to make Y2K compliant

$mon += 1; ## Month stars at 0 for January


my $file_name ="App$year-$mon-$mday-$hour-$min-$sec.xml"; # this is the unique part of the file name with the date, time and seconds included... "App2012-01-30-1-35-15.xml"


#open a new XML file for writing, this uses a subfolder "webapps"... note this folder should be password protected so it cannot be accessed publicly

open(OUTPUTFILE,">>../webapps/$file_name") or

       die "Failed to open OPF, $!\n";


# get an exclusive lock on that file

flock OUTPUTFILE, $f_lock;


# seek to the end of the existing content

# incase a previous process wrote to the file

# after the open and now

seek OUTPTUFILE, 0, 2;


# get an array of the passed CGI parms

my @params = $obj->param;


print "The following information has been submitted:";


# get a value for each parm and print them

print OUTPUTFILE "<application>\n";

foreach my $key (@params)


   my $value = $obj->param($key);

   print "<li>$key : $value";

   print OUTPUTFILE "<$key>$value</$key>\n";


print OUTPUTFILE "</application>\n";


# unlock the file  

flock OUTPUTFILE, $f_unlock;


# gracefully close your HTML

print qq(</ul>), $obj->end_html;






Sample XML File

Below is a sample of what the XML file your script creates should look like. The XML file name should be formatted as follows: "AppYYYY-MM-DD-H-M-S.xml" so if the file was created on 1/30/2012 1:35:15 it should be named:"App2012-01-30-1-35-15.xml". As long as the file name starts with "App" and ends in ".xml" you can use any numbering system you wish for the rest of the file name, as long as every application submitted has its own unique file name.


The "<?xml version="1.0" standalone="yes" ?>" line is optional. The "<application>" parent tag can be any tag name you like as long as the actual record tags are underneath a parent tag.


Below the sample contents of the XML file (with only 3 customer fields, yours will have as many customer data fields as you wish see customer data that can be imported).


<?xml version="1.0" standalone="yes" ?>  



<address>2000 Anystreet</address>






Sample CSV file

Below is a sample CSV file with 2 records, you can have as many records as you want in each CSV file, the header line must be present with the field names, the field names can be in any order but must use the field names as shown above.



"DOE,JOHN","1000 ANY Street","Eustis","FL","32726","7-Eleven"

"SMITH,JOE","1500 Any Street","Eustis","FL","32726","Wal-Mart"










Sample HTML code



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">



<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<title>Contact Information *Required to</title>

<style type="text/css">

* {outline:none;}

.style1 {

color: #FF0000;


.style2 {

margin: 0;

padding: 0;







<p class="style2">Contact Information

<font color="#FF0000">



<form action="http://www.rtopro.com//cgi-bin/apptoxml.pl" enctype="multipart/form-data" method="post" class="style2">


<table style="width: 100%">


                 <td style="width: 126px" class="style2">First Name<span class="style1">*</span></td>

                 <td class="style2">        

                 <input type="text" name="firstname" style="width: 206px" class="style2"/></td>




                 <td style="width: 126px" class="style2">Last Name<span class="style1">*</span></td>

                 <td class="style2">        

                 <input type="text" name="lastname" style="width: 206px" class="style2"/></td>



                 <td style="width: 126px" class="style2">Co-Renter First Name</td>

                 <td class="style2">        

                 <input type="text" name="altfirstname" style="width: 206px" class="style2"/></td>



                 <td style="width: 126px" class="style2">Co-Renter Last Name</td>

                 <td class="style2">        

                 <input type="text" name="altlastname" style="width: 206px" class="style2"/></td>





                 <td style="width: 126px" class="style2">Address</td>

                 <td class="style2">

                 <input type="text" name="address" style="width: 206px" class="style2"/></td>



                 <td style="width: 126px" class="style2">City&nbsp; </td>

                 <td class="style2">    

                 <input type="text" name="city" style="width: 206px" class="style2"/></td>



                 <td style="width: 126px" class="style2">State</td>

                 <td class="style2">

<input type="text" name="state" style="width: 206px" class="style2"/></td>



                 <td style="width: 126px" class="style2">Zip Code</td>

                 <td class="style2">

<input type="text" name="zip" style="width: 206px" class="style2"/></td>



                 <td style="width: 126px" class="style2">Work</td>

                 <td class="style2">

<input type="text" name="work1" style="width: 206px" class="style2"/></td>




                 <td style="width: 126px" class="style2">Comments / Order info</td>

                 <td class="style2">

<input type="text" name="comments" style="width: 206px" class="style2"/></td>






<input type="submit" value=" Submit " style="width: 106px" class="style2"/>




<p class="style2">&nbsp;</p>







Comments (...)