Updated 1-27-17
Cash Register

Printer port - APRINT6.EXE - USB Printing
There are many possible ports on the back of your computer to which your printer may be attached. You may have up to two parallel printer ports, LPT1 or LPT2. You may have up to two serial ports, COM1 or COM2. You may have many USB ports. This program has no support for USB ports however the following for a solution.

You may also print to the port FILE. This will allow you to send your print job to your printer through your Windows printer drivers, in effect this program will print to any printer that Windows can.

To select a printer port use the "printer setup" feature in the POSCONFG.EXE program. The default printer port is LPT1 so you do not have to do anything if your printer is connected to the LPT1 port as most printers are.

From "printer setup" press [F5] to select the port. If you choose LPT1 or LPT2 you are done and need to do nothing else except to try to print a sample receipt.

NOTE! Support for COM1 or COM2 is still under development and not complete. There is no error trapping currently for serial printers. If your serial printer is not working properly this program will not stop until the printer is fixed but will continue to send data to the printer even though nothing is actually being printed. Windows versions after Windows '98 will not allow DOS software to access the COM ports.

If you choose COM1 or COM2 you will have to select various settings to configure the port to match the settings on your printer. To find the correct settings for your printer you will have to either look them up in your printer's manual or contact the printer's manufacturer. One special setting is MODE. If you get the printer to operate but the text does not line up properly set MODE = ASC.

If you choose the port FILE: then something completely different will happen. The printer data will be sent to the disk file instead of your printer. To get the data to your printer another program must be running while this cash register program is also running.

The program APRINT6.EXE is one of the files that you downloaded with this program. It will look for printer data in the FILE: and when it finds it the data will be sent to your printer using your Windows printer drivers. For this to happen APRINT6.EXE must be running while any other Cash Register program file is running, and it must be running in the same folder.

The first time you start APRINT6.EXE there will be two buttons at the top of the window labeled "Set receipt printer" and "Set report printer." To the right of each button it will say "No printer selected", you will have to select a printer. When you click a button a list of printers will be shown, pick the printer you want. Next you will be shown a list of fixed-width fonts. Pick the font you want and the size you want to print. If you are using an actual receipt printer the font and font size you pick may have no effect, the printer will use its own font and size.

However if you are printing to a normal computer printer you will get what you pick. The size is important, if you pick too large a size your receipts may not fit on a page. If you have picked the wrong printer, font, or size just press the button to pick again. Now to the right of the button it will list the printer, font, and size you picked. You may also pick "bold" or "italic" but they will not be listed.

Normally receipts and reports are printed to the same printer so you will not need to click the "Set report printer" button. However if you have a second printer attached to this computer and you go to the "Reports" feature of this program you can set up this program to print to two different printers. You will then have to press the "Set report printer" button.

NOTE: Any printer that prints directly to a parallel printer port or a serial port does not have to be setup in the APRINT6 program.

For APRINT6 to work you must start it before you start any of the other Cash Register programs. it must still be running while the other Cash Register programs are running. You must choose the correct printer and that printer must be ready to print. The Cash Register program must be set to send printer data the FILE port, and you cannot close APRINT6 until after you have closed the Cash Register program. To close the APRINT6.EXE program, return to the APRINT6.EXE and press [X]. This version of APRINT will print to network printers.

APRINT6.EXE was conceived and created by Jonathan Simpson. I would like to express my sincere gratitude for his Contribution to Cash Register.

Receipt printers.
In general a receipt printer will print on a long roll of paper. This is called printing continuously because the paper stock is one long continuous piece of paper. This makes it very easy for the POS software because it does not have to worry about printing receipts that are too long or too short. When the printer stops printing you just tear off the receipt no matter how long or short it is.

The things that you have to think about with a receipt printer are how many blank lines need to be printed at the end of each receipt to get the last printed line out of the printer before the receipt is torn off, the fact that receipt printers print only 40 characters per line, and how many plies are on the paper roll, ie, how many copies of the receipt are printed on one pass.

To set up a receipt printer run the POSCONFG.EXE program and select "Printer Setup." Set "Print receipts on printer" to "YES". Set "Print on a page printer or print continuously" to "CONT." Enter a number into "Number of blank lines between receipts." Last set "Print 40 or 80 characters wide." to "40."

If your printer uses a cutter to cut the receipt off the paper roll, you must set this program to activate the cutter. Press [F1] to enter the code to make the printer cut the receipt. Entering this code is similar to entering the code to open a cash drawer attached to the printer, see the instructions for opening the cash drawer to learn how to enter the code to activate the cutter.

If you now press [F4], and your printer is set up and attached to your computer, the program will print out a sample receipt.

NOTE: if you are using a computer printer that has a tear bar on it to tear off the page when it stops printing then you may consider setting it up as a receipt printer following the above instructions. The only change you may want to make is to set the width to "80."

Computer printers.
Computer printers usually print pages, normally 11 inches long. This is much tougher that setting up a continuous printer. No matter how short a receipt may be you will want it to finish off the page it is printing on and get ready for the next page. If a receipt is very long then you will want to print it on two pages, and then finish off the last page. This is called pagination, every receipt will start off at the top of a new page.

To use page printing set "Print receipts on printer" to "YES". Set "Print on a page printer or print continuously" to "PAGE"

Form feed.
The easiest way to set up pagination is to use the "Number of printed lines per page" and "Use form feed at the end of the page." Most computer printers will print 60 lines per page. Laser and inkjet printers will print 60 lines and automatically provide a 1/2" top and bottom margin on each page. Line or dot matrix printers will print 60 lines but ask the computer to print top and bottom margins. In either case set "Number of printed lines per page" to "60" and "Use form feed at the end of the page." to "YES". Now press [F4] and print out a sample receipt, press [F4] again to print out a second receipt.

Both receipts should start at the same distance from the top of the page. If the second receipt starts at the middle of the first page then your printer may not use the "form feed" command, see "Line counting" below. If the second receipt starts lower on the page than the first page then try setting "Number of printed lines per page" to less than 60. If a blank page is printed between the two receipts then also try setting "Number of printed lines per page" to less than 60. (If your printer prints EXACTLY 60 lines per page then it will paginate after the 60th line is printed, when it then receives the form feed command it will then send out another blank page.) If needed, you may also try experimenting with the top and bottom margin settings.

Line counting.
If "form feed" does not work on your printer, or you get weird results, then you must use line counting. This is simply having the computer count the lines it prints to calculate when a page ends. To do this set "Use form feed at the end of the page." to "NO". Now adjust the top and bottom margin settings and the "Number of printed lines per page" until you get two sample receipts to begin printing the same distance from the top of the page.

Receipt copies.
Now that you have your receipts printing correctly you will want to think of how many of each receipt you want to print.

A journal receipt is the copy of the receipt that is kept in your store. It is your record of every transaction that is rung on your register. You may be legally required to keep a journal of your transactions. If you are using two or three ply paper in your printer then the top copy will be your customer's receipt and the bottom will be the journal. If you are using single ply paper you may print two copies of each receipt, one for the customer, one for the journal. To set the number of copies, set "Print one or two receipts per transaction" to "1" or "2".

Another option is to save the journal as a computer file. See the section "Journal" in this manual.

You may also want an extra copy of any credit receipts, one for the customer, one for the journal, one to attach to the credit slip. To do this set ""Print an extra receipt for credit sales" to YES". This extra receipt will only print for a credit transaction.

Ask before printing sales receipt.
This setting allows you to not print a receipt for a sale, return, void, or no-sale. At the end of the transaction you will be allowed to choose between "1. Print receipt" or "2. Do not print receipt". This assumes that you have set up the POS program to print receipts. If you choose to not print a receipt then no receipt will be printed. However everything else will still happen. The cash drawer will open, the sale will be written to the journal file, a transaction number will be used up. Be warned! If your printer prints on multiple ply paper and you are using the second sheet as your journal, you will not have a printout of the transaction on your journal. This may not be legal! You will however be able to tell that a transaction is missing because the transaction numbers will not be sequential.

Ask before printing opening receipt.
This setting allows you to not print an opening receipt when you start the cash register. This assumes that you have set up the POS program to print receipts.

If you choose not to print the opening receipt the cash drawer will still pop open but there will be no transaction and therefore no entry will be made into either the sales record file or the journal file.

This is an absolutely terrible idea. The purpose of the opening receipt is to make certain that the register sales totals were reset when the register was closed, and if not, to tell you how much is being added to today's sales that should not be there. If you do not print an opening receipt when you start the cash register then the next thing you should do is to go to the "close" screen to make sure that all of the totals are actually zero.

Sales Check
If you allow the printing of sales checks then at the end of each sale you will be offered the option of parking the sale and printing a sales check or finishing the sale and printing the receipt. It is assumed that you wish to give the sales check to the customer who will pay later when you then will recall the parked sale. Of course to be able to park a sale you must enable sale parking.

A sales check will look just like a receipt except that only the first line of the header will be printed followed by "SALES CHECK", of course there will be no payment information (change, cashpay, etc.) because the customer has not yet tendered payment. The "PARKED" code will also be at the top of the sales check.

If you use the "employee setup" feature to allow the tracking of tips then the sales check will have a line for the customer to enter the amount of the tip.

Forced line feed
This is mainly for serial printer users. If your serial printer will not feed the paper while printing setting this feature to "YES" may fix it. If your printer is already feeding paper then setting this to "YES" will double space your receipts.

Pause before printing second receipt
This will halt printing between multiple copies of the same receipt until you press any key.

Print blank line between items

This will print a blank line between the merchandise items on receipts. This only functions on 40 wide printing where each item sold uses two lines. so you will print two lines for the first item, then a blank line, then two lines for the next item, then a blank line, etc.

Print additional alternate transaction numbers.
Some countries require a two part transaction number. The actual transaction number is reset to zero when the register is closed and starts the next day at "1". The second part of the transaction number counts the number of times the register has been closed. So today the transaction numbers may be 2687-1, 2687-2, 2687-3, 2687-4... and tomorrow the transaction numbers will be 2688-1, 2688-2, 2688-3, 2688-4...

This program will now do this. Use "Printer setup" setup feature of the POSCONFG.EXE program to turn on the printing of these new transaction numbers on your receipts. These new transaction numbers are in addition to the old transaction numbers and if you choose to print them both the old and the new transaction numbers will be printed. The new numbers will be printed on the left side of the dashed line that is printed after the header. The new numbers will also be printed in the journal file.

Both numbers will reset to 0 after they reach 30,000 so if you have more than 30,000 sales on ONE register in a single day or use this register for more than 82 years, assuming that you close out the register only once a day, this could be a problem.

Number of digits in receipt transaction numbers.
Some countries now require 6 digit transaction numbers, i.e., 000000 to 999999. If you set this feature to allow 6 digit transaction numbers then they will be printed only on the receipts and in the journal. All other parts of this program will use the last 4 digits of the transaction number.

For example, if you wish use the "Void" function to lookup transaction number 256987 you would have to lookup transaction 6987. Since the sales record file only stores a maximum of the last 10,000 transactions there is no possibility of there being two number 6987 transactions in the file.

On 40 character wide receipts remove stock numbers and tax.
This feature is used mostly by restaurants. Usually the item lines on a receipt are printed like this...

TX1     2    at       4.59 ea.        9.18
But if you set this parameter to "YES" it will print like this...
       2    at       4.59 ea.        9.18
Additionally if the quantity is 1 to 9 and the price is zero (or the quantity is 1 with any price) the second line will not print at all. This is real handy for "modifiers."
        2    at       4.59 ea.        9.18
    NO ONIONS                1
    ADD TOMATOES             1
    LARGE COKE               1        1.50
Prints weird.
If you are running this program from DOS you will have almost no printer problems if your printer is set up to print in a data processing mode. For most DOS printers that is the only mode they have so "No problem."

About the only problem you will have when printing from DOS is if the columns do not line up. This is caused by using a font that is not fixed width. A "W" is wider than an "I". Changing your printer to a data processing mode or the default font to "Courier" or other fixed width font will solve this.

There are a lot of printers out there. Windows has many different printer drivers and controls. Here are some problems that may occur.

Prints nothing! Well first of all have you set up the cash register to print receipts? If not, it will not print anything else either. Some printers / Windows combinations need to be specifically told that you will be printing from DOS. See your printer manual. If you are running this program from windows '95 or later then even though you are running a DOS program, Windows takes over controlling the printing and many DOS printer features are over-ridden even if you are running this program from the DOS prompt. But since it is a DOS program then Windows wants to send printing to DOS controls even though it has over-ridden them. Isn't this FUN?

Columns don't line up. This is caused by using a font that is not fixed width. A "W" is wider than an "I". Changing your printer to a data processing mode or the default font to "Courier" or other fixed width font may solve this. Another solution is to set up the "Generic Printer" as your Windows default printer. Are you sure that you want to mess with your Windows settings? Think again?

Program printer
When your computer wants to send out some data to be printed is asks the printer if it is ready. If it is ready it sends back a number, usually 223. If it is not ready, out of paper, not on line, turned off, something else, it will send back another number or no number. Some computer / printer combinations will use a different number for "Ready". If yours does then you will see the "Printer Error" screen even though there is no error. This gets real annoying, real quick.

You may use the "Program Printer" function in POSCONFG.EXE to reprogram the "Ready" code that the cash register will accept.

Receipt Coupons
You may print up to three 10 line coupons on your receipts. These coupons can be for anything you want to offer that you can explain in 10 lines.

Here are some suggestion of things that should be in your coupons...

Your business name and address. An expiration date. "Value = 1/20 Cents", "Void where prohibited, licensed, or taxed.", "Some restrictions may apply.", "Cannot be combined with any other offer, discount or promotion.", "Must be over 18 / 21." "Coupon must be presented / surrendered at time of purchase."

The width of your coupon depends on the width of your receipts. Use "Printer Setup" to set your width first because if you change it later you will have to retype your coupons.

There are two variables to set for each coupon. First is "how often", with a range of 0 to 9,999. This tells the register how frequently each coupon will be printed. A setting of 0 would mean never. 1 would mean 1 out of 1 or every receipt would have a coupon. A setting of 2 would mean 1 out of 2, 50 would mean 1 out of 50 and so on.

The "Evenly" or "Random" setting determines which receipts will have the coupons. If the coupon frequency is divided "Evenly" among the receipts then the spacing between receipts that have the coupon will be the same. For example, if the frequency of a coupon is set to 18 and they are to be printed "Evenly" then every receipt that has a transaction number that is evenly divided by 18 will have the coupon printed on it. If the transaction that is divisible by 18 is not a sale, (opening, closing, no sale), then that receipt will be skipped. "Random" means that every receipt would have the same chance of having the coupon printed on it. If the frequency of a coupon is set to 18 and they are to be printed at "Random" then every receipt would have a 1 in 18 chance of having the coupon printed on it. Theoretically 3 receipts in a row could have the coupon printed on it or you could go 100 receipts with no coupon. But in the long run the ratio would be 1 receipt out of 18 will have the coupon.

Receipt Head & Foot
You will probably want your receipts to have a header (the same text on each receipt above the sale) and a footer (the same text on each receipt below the sale.)

For a header you will want to have your store's name, address, and phone number. Also some text stating that keeping the receipt would be a good idea. "Retain this receipt to compare with your monthly statement or for return or exchange." or "No cash refunds without this receipt!"

A footer usually has a motto or slogan. "Keys made right." or "Satisfaction guaranteed"

The width of your header and footer depends on the width of your receipts. Use "Printer Setup" to set your width first because if you change it later you will have to retype your header and footer.

Receipt Language
While this program itself will be persistently in English it is possible to change the labels on the receipts (ASSOCIATE, DESCRIPTION, PRICE, TOTAL, AMOUNT TENDERED, etc.) to anything or any language you want assuming that it will fit in the allowable space, use either the Latin or Greek character set, and your printer will properly print those characters.

To do this, use the "Receipt Language" function. This will show you the current labels (or allow your to reset them to the default labels) and then type in the new labels that you want.

Since it is possible that another language will use different characters, such as those with accents, additional alternate characters can be displayed by pressing [F3]. These are 80 selected characters from the upper half of the ASCII character list of 128. The remaining 48 are either graphics characters or just plain weird, but you may also enter them even though they are not displayed if you know the code. To the left of each displayed alternate character will be a three digit code. To actually enter an alternate character into a label hold down the [ALT] key, type in the 3 digit code using the numeric key pad to the right of your keyboard (NOT the row of number keys above the "QWERTY" keys), and then release the [ALT] key. You must hold down the [ALT] key while you are typing in the 3 digit code.

NOTE: at the current time printing a sample receipt from the POSCONFG.EXE program will print only the default labels. Your labels will only be printed when printing an actual receipt from POS.EXE

(To use "receiving" you must be keeping track of your inventory in the stock table.)

This function will actually run another program that will allow you to enter merchandise received into your store into a file. From the POS program you may then use "File maintenance" to load this file. When a receiving file is loaded your current inventory will NOT be erased from your stock table, the receiving file will be ADDED to your inventory.

To use this program a copy of your stock table must be in the same directory as this program even though the stock table will not be changed until the resulting file is loaded by the POS program. The receiving program uses the stock table only to verify that the correct stock numbers and descriptions are being used by the receiving program.

The receiving program does not have to be run on the same computer as the cash register program is on. The receiving program will copy the receiving file to a floppy disk and the POS program will read the receiving file from the floppy.

You do not have to enter the items into the receiving program in any order nor do you have to group all of the same items together. For example if you enter 12 of item number 555 and then enter five other items, and then add 7 more 555's, and then six other items, and then 4 more 555's, the program will know that you entered 23 555's.

(See Receiving.)

Previous page | Table of contents | Next page