Pawnshop Software "TO DO" list. _______________________________
November 28, 1992
CATEGORIES
Set up a store parameter to show range of long guns vs. short guns. Then use it to keep people less that 21 from buying a pistol, yet let them buy a rifle.
Add three age fields to category record. Each field would correspond
to loans, sales, and purchases. If the value is zero (0) then a
customer could make a transaction at any age. If the value is 99,
then no customer would be allowed to make that type of transaction.
In the case of guns, short guns would be 21 and rifles would be 18 or
19 depending on the local laws. The 99 year option could be used for
a certain category that the owner does not want to make loans or
purchase.
An additional field would be defined for each category that would
designate the category as free format. This would be used for jewelry
that needs a larger description field.
FIREARMS
Check on firearm integrity seems to display 1 --> N-1 as missing when
first number is N.
Adjust 4473 for two firearms, loans and sales, actually as many 4473
as there are guns that are taken out of the store. Internal, build a
table and pass it off to the 4473 subroutine.
Enter top, left, bottom margins for 4473.
GENERAL
Search for a "match" on partial serial numbers in Loan items,
firearms, and inventory items.
ERSATZ names for run PPN.
Add an identification of "5" for alien registration.
Add Cost of Sales and outstanding loans to the activity recap report.
Use ISAM Rock to recount records for speed increase.
Integrity routines, use thermometer display to show progress.
Document manual use of integrity programs.
Add AMOS command to menu structure.
Convert employee file to an expanded file, allow unlimited number of
employees with home, emergency, comments, and phones.
MAJOR CHANGES
Add a Customer Profile of all activity in store, loans, sales,
purchases, and layaways.
INVENTORY
Add an EOQ quantity and a report that would list all quantities less
than the EOQ. Fred at the Montgomery pawnshop.
In receipts update to inventory make two passes:
1) verify data is valid, quantity is at least one "1" so no
divide by zero occurs computing average cost.
check category to not equal "000".
2) 2nd pass, update to inventory.
From Willie at action pawn in El Paso 5/20/92.
Inventory report sorted by location, select stock number and/or
category range.
Add a minimum sale price in addition to actual sale price.
Add top, left, and bottom margins to labels.
Add a parameter for number of alignments OR in the routines ask
"Print an alignment?" or ?
LOAN ITEMS D/P,
Add a selection for a partial serial number, maybe allow up to three
serial numbers so that if the true serial number is 12345678 then any
one of the following entries would find it: 1234, 3456, 5678. Note
that all entries are a subset of the true number so that if the number
entered incorrectly were 13245678 or 12345768, the search would find
it.
LOANS QUICK DISPLAY.
When an exact name is entered the search routine continues on
eventhough there are not any more exact matches. For example if SMITH
JOHN in entered, it seems as though it searches all the "SMITH" but does not halt if a TOM SMITH is found.
Loans D/P add a select for an exact name of LAST NAME and FIRST NAME.
When renewing a loan, copy the vue comment file to the new loan number.
Write a Loan Paid and Renewed report that is faster that normal
display/print.
SALES
Write a sale from a sale.
Layaways, should not set qty to zero until paid, set status to
"L"ayaway.
Set status to sold "S" when layaway paid in full, or "A"vailable if
dropped.
PC SYSTEMS
Software lockups when doing a recount of number of records in a file. Find out why or use ISAM Rock to access the counts. Seems to be incompatibility in PC to AMOS software.
INTERNAL CHANGES:
FDSKFD.SUB subroutine. Check on all uses of CALL SEEK'FIREARM
the subroutine always unlocks the IDX so any adding of new
firearm records must do another ISAM 1. The seek originally
didn't require the second ISAM 1.
SECURITY SYSTEM
Each menu selection would have a setable value, as the operator
entered the routine the program would request a PIN code.
Each maintenance routine option, i.e. Inventory Add, Change, Delete,
and Inquire would have a value for each verb (as well as accessing the
routine).
Each report would have three values:
1. Report on individual records.
2. To total records for one day, for example the loan paid and
renewal for today.
3. Total records for more than one day.
The point of sale routines, sales, purchases, and loans can have a maximum of
100 line items, then the entire list of lines can be held in memory.
Need a standard transfer message file that tells the program that is
being started what to do automatically. The file name should use the child
number as part of the name. For example, XFR###.TXT where ### is the job
number; the program would look for XFR###.TXT, read it and immediately delete
it.
The record layout should have fields similar to:
MAP1 TRANSFER'RECORD
MAP2 XF'TYPE ,S,2 ! Transaction type
01,02,03...99 MAP2 XF'TRANS'NO,S,8 ! Loan, customer,
inventory number ??
------------------------
Need a new module for item sent out or on the bench being repaired. If the item is a firearm, the A & D book must be completed in that the firearm leaves the building. When returned the firearm needs to be added to the A & D book in the Acquired section.
Sales slips need a unique name REP340."+JOB'C'S+#, then hard code the Delete
spool switch because in one day there will be more than 36 sales slips.
See if a printer option can be used in PRT'TO'PERF to form feed between sheets on a printer and at end of a report. Then reports can go to lasers.
Jewelry label printer.
Change field 27 to have a new option of "B"=Both
Add a left margin for jewelry labels,
Add a second option to show number of alignment labels
on a stock label. Take it out of the print label routines.
Customer routines _________________
The steps to finding and making a transaction with a customer are:
Find the customer
Display a partial screen of the customer to make sure it is correct
Get an option to do a loan, sale, purchase, etc.
Chain off to the option selected
________________________
Details:
Find a customer:
Inquire by customer and/or phone number. Enter a partial key and display a list of
possible customers.
S-TODO[101,77] Rev. 17-Sep-98 Page 1
AlphaPAWN TODO
Enter Customer Last Name _________________
or Phone number 512.___.____
Display screen:
1. DAVIDSON JOHN 4000 REYNOSA AUSTIN 512-497-3916
2. DAVIS EVA 1603 AUCKLAND AUSTIN 512-356-3424
3. ......... ....
---------
19. .........
20. .........
Push ENTER to continue, ESC=End, or enter line number of Customer ___
======== Change to option screen with customer name and address ==========
DAVIS EVA MIDDLE SR. 512-497-3916
1603 Auckland
Austin, Tx 78123
Birthday 08/27/1946 Age 52 (compute age)
ID: Texas DL 120937 Height 5-6 Wgt 143 Eyes Blue Hair Brn Race W
Deal Loan Yes Memo +.....(first three lines of memo).+
with Purchase Police +.................................+
Sale Cash only +.................................+
Options: L=Loans, P=Purchases, S=Sales & Layaways, F=Find a customer
History, M=Maintenance, (future C=Credit sales, R=Repairs)
Rene & John's Pawn Sep 4,
1998
History Screen ______________ DAVIS EVA MIDDLE SR. 512-251-9876
+-Loans ------------------------------------------------ Memo ---------------+
| Loans Active 12 1200.00 100.00 | <----------- text memo --------> |
| | scrolling |
| Paid 19 1965.00 105.78 | |
| Renew 7 714.00 102.00 | |
| Drop 123 12,300.00 100.00 | |
! Drop ExPym 15 3,000.00 200.00 | |
| | |
| Paid 10M 2 160.00 80.00 | |
| Renew 10M 4 480.00 120.00 |-Sales & Layaways----Total---Average--+
| Drop 10M 23 2,300.00 100.00 | Layaways 10 1,234.56 123.46 |
| Drop ExPym 3 150.00 50.00 | |
+-- Status of Customer-(cash otheropt)| Sales 4 1,000,00 250.00 |
| Loan=Yes Sale=No Purchase=Help | Paid 25 250.00 10.00 |
|---- Purchases ----------------------+ Drop 4 1,000,00 250.00 |
| Purchases 23 2,600.00 200.00 | |
| | Sales 10M 4 1,000,00 250.00 |
| Purchases 10M 4 1,000.00 250.00 | Paid 10M 25 250.00 10.00 |
| | Drop 10M 4 1,000,00 250.00 |
+------- 10M - Shows customer totals for the last 10 months -----------------|
Options: L=Loans, P=Purchases, S=Sales & Layaways, Find a customer
M=Maintenance, (future C=Credit sales, R=Repairs)
=============================================================================
If L=Loans are selected then create a transfer file with customer number and
chain off to that program. At that time search for existing loan and write,
pay, renew, extend. Note, the current loan routine allows going directly to
a loan, that feature needs to remain. A customer could come in with a ticket
and just say I want to pay it or make a payment, so there is no need to find
the customer.
Same for sales and purchases.
--------------------------
New management program to Void, or Drop a loan with security on each feature.
------------------------- Additional fields for:
Customer
credit limit
Employee
hire date, birth date, commission rates
Detail technical notes on Release 6.0 _____________________________________
Converting the employee number from three digits to four.
The following files store the employee number:
AUDIT.MAP, LOAN.MAP, PURCH.MAP, SALES.MAP two places,
TIMEC.MAP.
S-TODO[101,77] Rev. 17-Sep-98 Page 3
AlphaPAWN TODO
All the data is stored as three characters with leading zeros. Here is a
theory on how to convert it in place. Think it through and try and find a
mistake in the method.
1. Add two fields redefined on top of the existing field, so using the
for example, the loan map would change from:
MAP2 LH'ORIGLOAN ,S,6
MAP2 LH'SALESMAN ,S,3
MAP2 LH'ADDRESS ,S,18
to:
MAP2 LH'ORIGLOAN ,S,6
MAP2 LH'SALE3
MAP3 LH'SALESMAN ,S,3
MAP2 LH'SALE3'REDEFINED,@LH'SALE3
MAP3 LH'SALES'X ,S,1
MAP3 LH'EMPLOY'NO ,B,2
MAP2 LH'ADDRESS ,S,18
2. The convert program would read the record in and look at the
LH'SALESMAN field and decide whether it had been converted or not. In
case the convert died in the middle of the file. We know the existing
data is all numbers, the employees range from 000 to 999 so if during
the convert we change the leading digit from a number to an "X" then
we know the field has been converted. Here is the code, I think!!!!!
READ the record with lock
IF LH'SALES'X="X" THEN UNLOCK : GOTO READ RECORD
LH'EMPLOY'NO=LH'SALESMAN
LH'SALES'X ="X"
WRITE the record
GOTO READ RECORD
If the machine dies or a Control-C is hit a restart in place I
THINK???? will not hurt anything. What do you say?
3. The routine VEREMP.SUB is the verify routine that the employee number
entered is a valid number. This will change to a read of the new
EMPLOY file. The security program will also read it.
4. A conversion program will read in the store employee record and write
the new ISAM file.
5. The FILES.MAP position number 13 is not used and can be used for a
disk assignment. Channel 113 is the one block file PWNF13.DAT which
is used for record locking on the ticket printer so we'll need to
give the employee file the name PWNF13.ID? I guess that is not a
conflict?
======================== Number 1 list =================================
April 1998
AlphaPawn Software "TO DO" Release 5.0 & 6.0. _____________________________________________
As of 5.0H(264) all of the 5.0 revisions have been completed. The list of
enhancements for release 6.0 is a "suggested" list, the list is NOT complete
and any items on the list may NOT be implemented.list is NOT complete
Version 5.0 routines to be finished.
Mailings from loans/sales with a VUE/memo file to reminder mailer.
Finish testing pop up categories in P??215's.
Include $ amounts on pull list for loan drops.
Add a dummy switch on loan payments to always request if ticket is
lost.
Night reports "loans made" need to check if date searching = date made
= date paid.
Nightly reports, for loans Paid or Renewed, needs to print all
extension payments and affidavit charges.
Use PRT'TO'PERF on the night reports to paginate to end of page.
OCCC report for Williams, on May 15 show status of loans in Jan. If
store uses extensions then all loans Paid in Jan and previous
extension payments.
Store "status" display Month & Year or Day & Month.
Compute last years expected loan payoff percentage.
Night Cash Drawer Audit report:
Drw Inflow Outflow Cash Net Should Does Over/
Flow Added/ Have Have Short
Removed
1 200.00 150.00 50.00 45.00 95.00 90.00 -5.00
2 500.00 650.00 -150.00 300.00 150.00 150.00 0.00
--- ------- ------- ------- ------- ------- ------- ------
All 700.00 800.00 -100.00 345.00 245.00 240.00 -5.00
Maybe this report will have two sections. The first would be cash flow,
inflow outflow, net cash flow, and the number of times that the drawer was
closed. The next lines would use the cash flow with the open, close and
in/out to show cash put in the safe.
S-TODO[101,77] Rev. 22-Jun-98 Page 6
AlphaPAWN TODO
End of Release 5.0
------------------------------------------------------------
Changes to Release 6.0 specifications June 11, 1998
POS routines have a maximum of 100 line items.
Layaways keep all payments, charges instead of consolidating; just
show the total amount previously paid ( or maybe the last four
payments and the total paid).
---------------------------
April 10, 1998
RELEASE 6.0, SYSTEM WIDE ENHANCEMENTS
Full screen editing with arrow movement.
Printer selection for non-point of sale reports (or D/Ps); add a
system variable default S'POS=NO, POS programs will say S'POS=YES.
Expand printer definitions to method used in AJC or change the report
should be printed by using the printer definitions. A Description
field should be added so operator can select where report will go by
desc.
Use INFLD, replace READT.MAP and READT: subroutine with a pass through
call to infld. This will allow field editing, then slowly, use full
screen editing with SCNMNT.SUB.
Time out screens, sales slip time out 1-5 minutes so operator can
answer No. Time out assumes Yes printed correctly.
Change menus so that they are grouped by subjects such as REPORTS.
POS routines can have multiple lines using scrolling.
Sales routines need ability to trade items, print a purchase slip, and
transfer the COG to the new item.
Customer file with lookup by Name, Customer number, phone number and
maybe an ID number?
Customer Profile would show all activity in store, loans, sales,
purchases, layaways, and a text memo.
Fields to include: Family names, limits on loans, and purchases.
Previous addresses (last 3 when changed).
Add a date "Voided" to records, this will allow reports that are "AS
OF" a date.
S-TODO[101,77] Rev. 22-Jun-98 Page 7
AlphaPAWN TODO
System flow, go straight to a loan number/layaway number or find a
customer and then search within customer.
Use all dates internally as CCYYMMDD, change all dates that are MMDDYY
or YYMMDD to CCYYMMDD and add "CC" to the date field maybe? So
LH'DATEMADE would be LH'DATEMADECC that way any date being used would
be seen in a compile?
Expand use of B=Backup key for Inquires, easy on numbered keys; tough
on alpha keys.
Set an S'EXCLUSIVE=YES/NO variable in those routines that are stand
alone such as store parm maintenance, expand/contract. The current
method works ok but it is a little crude with no messages.
Replace all uses of "<--"=END in displays with ESCape=End, or
ESC=Quit.
In the programs replace all code that says:
IF RTF="<--" THEN ......
with
IF RTF=LA THEN ....
RTF will be the same as EXITCODE in infld, and LA will be the
same as ESC'KEY in infld.
Use intelligent searches where possible for getting reports out
faster.
Purchases needs a customer key.
Consolidate transactions, converted to one file of summary data with a
date of CCYYMMDD. Write a convert routine to find all old PWNYyy.mmm
data to this file.
Use thermometer displays to show progress.
When asking for a security pin code ask for employee ID if the
operator has not already entered it in the routine. This takes care
of two employees having the same PIN code (which is ok) and both not
knowing the other has it.
Change the software to encode on the Phone number. If the software is
not encoded the demo mode would allow?????: All procedures except,
expand or drops or audit trail writes or ????? Keep the daily
override routine in case a phone changed but software had not been
encrypted yet.
Add an "E"=Export option to Display / Prints for ability to transfer
data to external report generators. Then it would allow field
selection. It would keep a standard field delimiter such as "\".
Allow consignments in inventory; keep custid in inventory with a
status code of "C" consignment. Run report at end of month saying
S-TODO[101,77] Rev. 22-Jun-98 Page 8
AlphaPAWN TODO
what has been sold and what is still in inventory.
------------------------------------
Specific routines in Release 6.0
Daily Business
Use 1/2" perf. pawn ticket, move text inside ticket so there is space
on the left & right sides of the ticket. Make loan all 12 cpi on the
ticket and expand the description fields. For multiple line items that
go beyond a pawn ticket print one line on the ticket that says "see
attached items".
DB menu needs to be changed to look up a customer and then from that
screen, get a profile or go to loans, purchases, layaways, or customer
maintenance.
Loan search, mark items for a new loan from multiple pawn tickets.
Loan search mark multiple loans for pay or renew show running balance
of total to be paid.
Loan routine (and others) should have ability to inquire directly on a
ticket number.
Change screen line item display to show importer and amount loaned on
the item
Hold (police) in Loans and Purchases which would expense the items. A
payment could still be made on a seized loan. It would ask for police
info, case, who, period etc.
Lost ticket affidavit, customer comes in and says loan ticket is lost
but does not want to pay off loan. Louisiana has it already.
In Loans and Purchases, change the RTMSG for jewelry items and suggest
what type of field should be entered.
Field _____ Description ___________ Examples ________
Serial No. Inscription & stones "1972" "TLW" 6 DIA
CHIPS
Manufact. Gender & Weight L 10.2G, M 20.1P
Color Color YG
Model Karat, length,size 14KT 11", RING SIZE
Description What item is RING, NECKLACE
ATF-4473, add an option to designate number of guns per 4473 sheet.
Gunsmoke wants only 1 gun per page.
Display / Print
Check to see if RTX=TAB in D/P routines getting it ready for Infld.
S-TODO[101,77] Rev. 22-Jun-98 Page 9
AlphaPAWN TODO
Use PWN520 as a sample for TAB entry.
All D/P routines have a "T"otal format option, and a list of selection
parms. Always print the Total page.
Sales D/P add Fed number to C format.
Inventory, Firearms, Categories
Search for all old items in store that haven't sold by date acquired.
Total quantity sold since reset date
Report that would list all quantities less than the EOQ.
Updates from receipts to inventory should require all costs be
allocated or expensed if a switch is set to Y/N. When expensed add it
to an audit code.
Expense out an item for loss or theft. Set a status?
Minimum sale price, display it instead of cost on screen.
Categories
Add a category field to designate whether an item gets a large
or small laser label.
MAYBE ??? Add a category field to show "free" format text vs.
field text for pure textual descriptions.
Store Management
Make a separate routine that is controlled by security. Set a loan to
V="Void" or "L" or D=Dropped even though done on a previous day, or
reset a lay back to L from void.
Loans, set a status back to Loan after drop, Void a loan, drop
a loan.
Sales, void a sale or reverse it.
Purchases, void a purchase or reverse it.
Loan drops and purchases, add a Y/N switch that requires the cost of
items to be spread into inventory or expensed to an audit code. Don't
update receipts without total expense allocated.
Store and System Utilities
Print all store parameters, add the Accounting, nightly and cat
grouping.
Counts max / used display only every 2.5% record number on screen.
PWN071 display every 2.5% records, for sales and audit records.
Time Clock In / Out
S-TODO[101,77] Rev. 22-Jun-98 Page 10
AlphaPAWN TODO
======================================================
The files that are to be created by the transfer or archive reports should
create a name with the following format:
###XYY.DDD
| || |
| || +---- DDD is the day in Julian format 1-366
| |+-------- YY is year, century won't matter.
| +--------- X is a report/transfer file format
+----------- ### is the store number.
Individual records should have a format that allows it to go straight to a
raw format spread sheet like Excel, similar to:
### CCYYMMDD X TTT
| | | | | | |
| +-----+ | +-- TTT is record type/number, there
| | | could be multiple records in
| | | one transfer file.
| | +----- X is the report/transfer file
| | format, this allows the data
| | from multiple files to be
| | mixed/sorted by store or date.
| +----------- C-D is the date.
+----------------- ### is the store number.
________________________________________________________________
Technical
Be more specific in assigning standard channel numbers for programs.
Suggestions:
Have an option to "LOG/TRACE" transactions, i.e. inventory deletes &
changes, voids, rate reductions.
Selection criteria using wildcards "*ABC*" or "ABC*"
Report to match the drop list to a "want" list. MASON's
Bar Coding, problems with implementation, size of label for jewelry
destroys the display case.
Check Book routine, simple. Assigns check to expense account, and
description. Need a check book balance feature.
Enter deposites, ccard, checks, cash. Service charges, auto payments.
Revolving credit sales, customer takes item out of store and makes
payments, needs credit, chargebacks.
S-TODO[101,77] Rev. 22-Jun-98 Page 11
AlphaPAWN TODO
Repair tickets, tracking of items. Check on gun procedures when
sent out of store.
Change extension receipt to read:
Amount due at redemption (a+b+c)
or
to calculate amount due at redemption add (a+b+c)
Robert at Village.
Original loan search add optional low/high loan numbers.
**** End of: APS System 81 TO DO List of APS enhancements ****