Keystroke POS Go to the Keystroke POS Home Page Keystroke POS

Keystroke POS Version 7 Read Me

Current version is 7.00 Build 42 - 08/24/10

Thank you for using Keystroke Point of Sale.

This file contains a listing of changes made to both Keystroke Advanced POS v7.00 and Keystroke POS v7.00 program and its modules made since the release of v7.00 Build 19 (beta release) on 02/14/10.

- Lines beginning with a hyphen are bug fixes for recently introduced errors.

****** Most Recent Changes *******

8/24/10 - v7.00 Build 42

- Removed the fix from build 41 since the program now correctly handles the report settings files even if they don't have a version number in them.

CNF - Security Levels - Changed the default security level for "Edit Payment Auth Code" from 8 to 2 (this change only affects new data sets). This is also the default for "Enter Auth Code" when creating new payment types.

CNF - PACK - Contact/Matrix Items - If the CustomerNumber/StockNumber field on the Contact/MatrixItem record is 0 (or negative) then the record will not be copied to the new data file (it will be discarded as a bad record).

CNF - PACK - Orphaned Contacts - Before packing the Contact Database, the program will now ask if it should check for and remove Orphaned Contacts (those that have a Customer Number that no longer exists in the Customer Database). If answered as "Yes" (default is "No), then the program will look up the customer for each contact as the contact records are copied (note that this extra lookup step slows down the pack process).

CNF - PACK - Orphaned Matrix Items - Before packing the Matrix Database, the program will now ask if it should check for and remove Orphaned Matrix Items (those that have a Stock Number that no longer exists in the Inventory Database or that a have a Matrix Table or Matrix Code that does not match up with what is defined for the inventory item). If answered as "Yes" (default is "No), then the program will look up the inventory item and matrix table for each matrix item as the matrix item records are copied (note that these extra lookup steps slow down the pack process).

POR - Added support for entering and looking up Inventory items by the AltID# field.

POR - Added support for the following fields to be displayed in the line item detail box (93=Last Qty Ordered, 94=Last Qty Received, 95=Last Purchased (Ordered) Date, 96=Last Received Date, 97=Last Counted Date, 98=Last Transferred Date, 99=Last Sold (Ordered) Date, 100=Last Shipped Date. (see DOC\DetBox.doc)

TRN - KeyPay Payment Entry - Even if the Auth Code field is set to allow entry/editing, the program will jump out of it the first time the field is made active. This is to help guard against accidentally changing the field.

TRN - Check MICR - If the MICR on a check is entered by hand (or through a keyboard wedge), the program will now strip out any spaces.

TRN - KeyPay Payment Entry - The program will not attempt to authorize a payment if the "Card #" field is blank.

- CLOSEOUT - Check Calculator - Print to Screen - Would not print on more than one page.

- CLOSEOUT - Report - Payment Details - The Client Number that was being printed on ROA Payments in the detail report was the client number from the last regular sales payment instead of the ROA payment (all other information including the customer's name was correct).

- CLOSEOUT - Check Calculator - Fixed Error 9 if the print function was used from the Check Calculator and the Audit Printing Reports parameter was on.

- CNF - Sales Transaction Types - moving existing transactions from the standard transaction files to their own alternate transaction file was not working. The function that copies the transactions was not copying the transaction header to the new file.

- CNF - Audit Parameters - The Audit Entry Code was always case sensitive even if the "Passwords - Case Sensitive" parameter was off.

- CNF - Export - Matrix Items - fixed the menu that was showing Matrix Items could be exported by other fields besides Matrix Code (they can only be exported by Matrix Code).

- CNF - Pack - Databases - When packing a database and a record has a Number of 0 or less (Stock Number, Customer Number, etc.) then the program assigns the Next available number to it as it is saved. The problem was during the pack the next available number was the highest number packed so far instead of the Next Number from the file being packed. The program will now use and update the Next Number as it was in the file before it was packed.

- CNF - Tables - Taxes - After using the Tables - Taxes - Tables (or Districts, or Codes) function, the program recalculates the Tax Percentage displayed on the list of Tax Tables. However, this amount was sometimes wrong on one of the tax tables (could be as much as doubled). This only happens when using one of these functions and only affects the displayed list, not the actual taxes calculated. Editing tax tables from anywhere else in the program was working correctly.

- DATABASE - MATRIX/CONTACTS - If there are over 30,000 Matrix Items or Contacts, it was possible for the indexes to skip a small number of records when adding a new record. This only happens when the a record is added near the beginning of the list (somewhere in the first 30,000 records after at least 30,000 records have already been added). If it did happen only about 20 records would longer be found. If it is believed the either the Matrix or Contact databases may have this problem, packing with this or a later release will recover those records.

- DATABASE - MATRIX - If the Matrix button on an inventory item was selected while a matrix item was already loaded, then the program would give an error 10.

- DBM - Search and Delete - The Search and Delete function would sometimes get stock deleting the same record over and over again.

- EXPORT - When exporting a database sorted by a text field, and the text field had extended characters in it, some of these characters were not being compared correctly (due to Window's translation of characters) and could cause either the wrong records to be included or for the export to quit before all the data had been exported.

- KSEXPORT - If the END= switch was not used to set the ending range, the program was defaulting it to a string of 10 character 254s which would sometimes cause the export to end too soon if the field being exported included extended characters.

- GLLINK - Store Transfers - Linking Store Transfers was not working (would give an Error 59).

- GLLINK - Store Transfers - Store Transfers to/from Store #0 where not posting the entry for Store #0.

- IMPTRN/IMPPOR - Customer/Vendor Phone # - The import function was removing all characters from the imported Customer/Vendor Phone # that were not letters or numbers. It now uses the text as it is imported.

- KSR - CUES - Matrix Analysis and History reports were not working when run through the report cues function.

- KSR - Inventory Analysis - Hidden Items - If grouped by Department and the Inventory - Include Hidden Items parameter was on, then hidden items were being printed in both the "Department Not Found" and their actual department sections.

- KSR - Inventory Database - Roll Child Into Parent - If this parameter was on and the parent item had child qtys to add in which then gave a total QOH of 0 the program would generate in an error 11 (division by zero).

- LOGO - DATA CONVERSION - The Entry Code (password) for changing the Audit Parameters was not being converted correctly.

- LOGO - DATA CONVERSION - Store Transfers - the files KSTRHDR.DAT and KSSTR.DAT were not be renamed to .v6 nor moved to the v6Data directory.

- LOGO - Customer Database Screens - The program was being shipped with the Customer-Flags field on the 3rd database screen when it should have been Customer-UserFlags. Since Customer-Flags should not be used on a database screen, the program will check and then switch any field on customer database screen from "Customer-Flags" to "Customer-UserFlags".

- LOGO - Data Conversion - The program would sometimes give an error when converting an Audit Entry of deleting a Variance record.

- MATRIX ITEMS - Avg Cost - The program was running the routines to make sure that matrix items under a single inventory item either were all set to a Null average cost or each had its own average cost.

- MOUSE CLICKS - If a field that is not active was clicked on (usually a label field) and the next active field was a button, then the button was being activated. Now it is just highlighted.

- POR - Manufacturer - Inventory Lookups based on the Manufacturer field were actually looking up via the AltID# field.

- POR - Special - Receiving - The Load button on the Receiving function was not working (was not able to find the transaction correctly).

- TRN - Age Verification - If a customer was not assigned to the transaction (i.e., customer is Cash) then the age verification function was not working (was treating the customer as if born on 12/31/1984).

- TRN - Convert Transaction Type - If a Sales Transaction type was set to allow it to be converted to a transaction type that was not enabled, that option was still appearing on the Special - Transaction Type menu even though it was not a valid choice (and would not do anything if selected).

- TRN - Gift Registry type transactions - The Delete Filled Line Items parameter was not working with transactions marked to "Copy Shipped Items to New Sale" (Gift Registry).

- TRN - KeyPay Payment Entry - If using a payment authorized through KeyPay and the Skip Amount parameter was turned on, then the program was not allowing the payment amount to be changed.

- TRN - KeyPay - Removed the ability to use the [Esc] key to cancel a request once it has been sent to KeyPay.

- TRN - Menu - Special - The Quick Save and Quick Load functions were not working when selected from the menu (the hot keys [Shift+F10] and [Ctrl+Home] were working correctly).

- VAR - Reports - Variance - Individual - The Record List Box used to select Individual Variances for reports was not working.

- VAR - Variance Date/Time - Display issue with the entry box, the words "Date/Time Range" were being splashed across the top of it. This was a display issue only, function still worked correctly.

- VAR - Variances converted from v7 were displaying the TotalCost and TotalPrice as 10x more than they actually were (the actually line items on the variance are correct).
- VAR - Matrix Items - Entering a Matrix Item on a variance by using the Product Code field was not working.

- STR/STRUPDTE.EXE - Updating Matrix Items was not always working correctly and would sometimes add the matrix items that already existed to the store's matrix data file causing it to grow each time the store update function was run.

- FMTR - The Clear function was not clearing the screen (display issue only, it was removing the form from memory).

- FMTR - Selecting a Form Message was messing up the Form Messages file (FORMMSGS.DAT).


8/13/10 - v7.00 Build 41 (Special release to fix problem in Build 40)

- REPORTS SETTINGS BEING LOST (from build 40) - Report Settings files (KSRE.DAT and KSRE1.DAT) that were first created in v7 (not those converted from v6x) were being deleted every time the file was being accessed since they did not have the version number that created them correctly stored in the file. This build fixes the problem by placing the version number in any report settings file that does not have a version number in it.


8/2/10 - v7.00 Build 40

- FILE LOCKED MESSAGE - AUDIT ENTRIES - Audit entries where not being written unless the program could establish an exclusive read and write lock on the transaction files. The program will now automatically downgrade the requested lock to lock to an exclusive write but shared read when necessary. This allows others to be viewing transaction files in a list or a report while audit entries are being written.

CNF - Payments - If the authorization method on a payment is changed from one using KeyPay to any other method (other than "None") then a message will be displayed warning that only methods using KeyPay are considered PCI Compliant.

SHOWSTATUS - If the command line is more than 63 characters, then the command line Switches line will be wrapped to a second line when displayed in the ShowStatus ([Shift+F12]) function.

TRN/FMTR - Sales Forms (Invoices) - added the ability to print the Customer's Fields: LongInfo1, LongInfo2, ShortInfo1, ShortInfo2, and UserFlags.

- CNF - Sales Transaction Parameters - If the "Copy Shipped Items to New Sale" parameter was on, then the program was always turning off the "Delete Filled Line Items" and "Delete Completed Transaction" parameters when saving.

- LOGO - DATA CONVERSION - The old Production files where not being renamed to .V6 and then moved to the V6Data directory (conversion was still done correctly).

- LOGO - DATA CONVERSION - Conversion of Database Screens and Report Forms for Matrix Items was not converting the non-importable fields correctly (those with an * on the end of the name like "Table Name *").

- PROD - Program was not working correctly with items that are hidden. (Note that Hidden inventory items can be used on productions).

- TRN - If a previous transaction is pulled up and the transaction type is changed but no other changes are done, using a print button would not also save the transaction (the program was not recognizing that it needed to be saved).

- STOREMRG - Deleted Transactions - Sales and Purchase Transactions, Payments, and ROA payments that had been deleted were being merged in as not deleted.

- STR - Transferring an item to a store that had that item marked as hidden would cause the program to add another, unhidden, copy of the inventory item.


7/23/10 - v7.00 Build 37

TRN - Customer Entry - Rearranged fields at bottom of Customer Entry box and also the comment box (if displayed) to work better when switching between displaying contact info and not displaying it.

TRN/FMTR - Sales Forms (Invoices) - added the ability to print the Customer's Birth Date field.

IMPTRN - Added support for "Customer Birthday=" field.

- TRN - ON ACCOUNT PAYMENTS - (From Build 35, previous releases did not have this problem.) When a transaction was saved that included an On Account payment type (transaction has an Amount Due), then the program was setting the customer's Oldest Open Invoice date to the transaction's date even if there were older open invoices in the system. This could cause some older transactions to no be seen by the program when printing statements or applying ROA payments. When entering the program, if the data set is from build 28 or later then the program will run a data conversion that will set the Last Open Invoice date on all customers that have a Last Open Invoice Date of 6/28/10 or newer to 1/1/2001. This will then be set to the actual date when the amount due is recalculated by an AR Report, or finance charges or statements in AR.

- ROUNDING ERROR - When a negative number was entered with more decimal points than then field allowed the rounding of the entry to the correct number of decimal points was off by 1 on the last digit (-0.075 rounded to -0.09 instead of -0.08).

- DBM - Till Assignents - To Drawers - The function to assign a Till to a Drawer was not working (would give Error 91).

- DBM - When adding items, the [PageDown] key was loading the previous item instead of a new blank screen (and [PageUp] was redisplaying the item just entered).

- IMPORTER - Importing by Matrix Product Code was not always finding the item in the Matrix Database.

- IMPTRN - Customer Birth Date - the year was always being set to 2000 (it was being treated as the Birthday field).

- KSR - Analysis Reports - If using one of the extended sorts and the "Sold Items Only" parameter was not on, then invalid records would be printed and messages about invalid records would be displayed.

- KSR - Matrix Analysis Reports - If using an extended sort, then an Error 52 would be given and the report would not run.

- SECURITY LEVEL - The "View Other Salesperson's Customers" security level was not working (was showing only customers with a credit limit of 0.00 instead of only customers with a Salesperson of 0 or that matched the current clerk.

- TIMECLOCK - If a default print button was not enabled, then the program would get stuck on the Ok button (from build 36).

- TRN - Transfer Payments - The transaction letter and date information added to the reference field on transfer payments had 3 extra spaces in it. This would cause the payment on the invoice to show the day twice ("{7/21)21}" instead of "{7/21}").

- VAR - Hidden Items - If an item on a posted/saved variance was marked as hidden, then the variance function was showing it as "Not Found".

- CONTPRIC - Was not working correctly when editing a customer with that had contract prices on more than 15 items.

- CONTPRIC - Reports are not working - this function can only be used to export data to the tab delimited file CP.TXT (which can then be viewed in a spreadsheet or database program).

- FMTR - Sales Forms (Invoices) - The field listed as "Customer Birth Date" should have been labeled "Customer Birthday".


7/16/10 - v7.00 Build 36

CNF - Print Buttons - Time Clock - Added a "Default Button" parameter. If On, then the Time Clock function will default to that button instead of the Ok button. Also, if on that button, and [F10] is pressed, it will activate that button instead of the Ok button.

MACROS - ChangeModule= - The program use to ignore this command if already in the module being changed to. Now it goes ahead and changes modules (even though just reloading the current one) so the macros will work the same from any module.

CLOSEOUT - REPORTS - The application title is temporarily changed to Reg# while printing the closeout reports. This is to help pdf printer drivers default to a useable name for the file.

REPORTS - The application title is temporarily changed to the Description from the form being used to print the report. This is to help pdf printer drivers default to a useable name for the file.

TRN - While printing a transaction, the program will now temporarily set the module's title to the short name of the transaction type instead of always "Invoice". This is to help pdf printer drivers default to a useable name for the file.

- AR/KSR - If a customer's Oldest Open Invoice date was set to 1/1/85 or earlier, then the program was sometimes only looking in the current transaction file instead of the previous transaction file when changing this date to the actual Oldest Open Invoice. This can cause transactions with an amount due in the previous transaction file to be skipped. This should only happen if customer's oldest open invoice date was manually set to the older date. If this may be the case, use DelUtil to set all Customers back to 1/1/01 (or oldest date a transaction could possibly be open) and then run the Receivable Aging report to recalculate).

- COPYNUM.EXE - Was looking for KSTRN001.MRG instead of EXTRACT.MRG (if the /M switch was used, it was looking for KSTR0001.MRG instead of EXTRACT.MRG). Fixed to now always work with EXTRACT.MRG.

- DATABASES - INV - Select/Edit Serial Numbers - Changes made to the serial number list were not showing when that line was not highlighted (all lines were showing their original text). Display issue only, changes were being saved correctly.

- DBM - Find-Search/Un-Hide records was not working.

- IMPORTER - Matrix Items - Merging by Matrix Product Code was not working (would give error 13).

- KSL - Printing Comments - If printing a comment on a label and the comment was longer than the space provided, the program was getting stuck and not printing anything.

- LOGO - Initializing a new configuration file (KSCNF.DAT) was setting the Purchase Manager parameter "Disable Purchase Orders" to "On" so that the program was not using Purchase Orders that create Purchase Invoices but was just working off of Purchase Invoices only.

- MACROS - Macros that changed modules were not working correctly if a "Changes will be Lost" message was to appear on the screen.

- POR - Creating Invoices from Purchase Orders was leaving the Transaction Total at $0.00 if payments on purchases was disabled (from build 21).

- POR - AutoOrder - Filters were not working correctly.

- PROD - Losing Last Line Item - On productions with more than 9 line items, the information from the last line item was not being written to the data file (item was being updated correctly, the history would then be wrong, or if a template, then the last item would be blank).

- LOGO - Convert Data - Production - Productions with more than 9 line items on them were having the rest of the records marked as Production Headers so packing the file would end up with a lot of extra productions listed (all of them not valid). If data has already been converted to v7 format (prior to v7.00 build 36), then the program will go through the production (and production template) files and fix the productions.

- RECCHRG.EXE - The FROM=, TO=, and ALT= command line switches were not working.

- ROUNDING ERROR - If an amount was negative and was a half a penny or more but less than a whole penny (-0.0050 to -0.0099) then the program was rounding the amount to a positive penny instead of a negative one (0.01 instead of -0.01). Only happened on these very small, fraction of a penny amounts that are negative, everything outside of this range was rounding correctly (e.g. -0.015 was rounding correctly to -0.02).

- SEARCHES - If the text entered is not numeric, then the program will no longer search based on a numeric field since what it would be searching for is 0. For example, if "B" is entered on a sales line item, the program will not lookup the item by StockNumber or AltID#.

- TRN - Deleting a transaction was not updating the customer database (amount due, total sales).

- TRN - Payments - If the "Don't Display on Sales Payment List" parameter on a payment was turned on, then a blank line was appearing at the bottom of the payments list.

- TRN - Shipping Sales Orders - Price Formulas with minimums based on Price Code or Transaction totals were not being applied to the calculation for the subtotal of the items being shipped.

- UDPRICE.EXE - was always rounding to the nearest dollar.

- VAR - Import - The entry box for entering the file name to import was not working so the import was not working.

- FMTR - Form Messages where showing text from other fields while the form was being edited (but the form would print correctly).


7/06/10 - v7.00 Build 35

CNF - Backup - Quick Archive - The Quick Archive function now uses the program 7za.exe (instead of PKZip.exe). 7za.exe is the standalone version of the 7-Zip compression utility which is licensed as freeware. License and information for this product can be found in the 7-Zip directory below the Keystroke Program directory. The archives are still stored in .zip files but will be created slightly faster but will be slightly larger. The reason for this switch is 7za.exe is a true 32 bit windows program and will work with 64 bit operating systems.

CNF - Database Parameters - Added a button to for Quick Archive Settings. Selecting this button will bring up a screen where you can change the compression program used to make Quick Archives from 7-Zip to PKZip. You can also turn on the archiving of sub-directories as well (default is off).

CLOSEOUT - PARAMETERS - Added the "Disable the "Exit (no save)" button" parameter. If on, then the print box will not show the "Exit (no save)" button.

CLOSEOUT - If the clerk is changed in the middle of a closeout, the program now warns that the closeout will be reset. Selecting cancel from this message will bring up the login screen again. If the original clerk is entered, then the closeout may proceed without being reset.

FORMQTY/FORM2LBL - Converted the source code (included as sample programs) to PowerBasic's Classic Console Compiler so they can be compiled as 32 bit versions that will run correctly on 64 bit operating systems.

AR - If a customer's Oldest Open Invoice Date is blank, the the program will search for transactions starting in the previous transaction file instead of going all the way back to the first transaction file.

AR - While printing a statement, the program will now temporarily set the module's title to "Cust#" (where # is the customer's number). This is to help pdf printer drivers default to a useable name for the file.

KSR - Inventory Analysis - Report may now print faster when Grouping By Customer/Vendor and the "Don't Print if Empty" parameter on Customers/Vendors is set to On. In this case, the program will first scan the transaction files to make sure at least one transaction type that the report is based on exists for the customer. If not, then the report skips the customer instead of spending time trying to gather the sales by item data for that customer.

TRN - While printing a transaction, the program will now temporarily set the module's title to "Invoice#" (where # is the transaction number). This is to help pdf printer drivers default to a useable name for the file.

TRN - Print transactions - The ID used when printing to a file (in PDF printers or with a & in the file name) will now include the Transaction's Letter (aka subnumber) if there is one.

TRN - If a customer's Oldest Open Invoice Date is blank, and an amount due transaction is saved, it will now set the Oldest Open Invoice Date to the transactions date instead of leaving it blank (a blank date is really 12/31/84).

TRN/CNF - Security Level - Added the security level "Edit Saved Line Items" to Sales Transactions. This is checked when editing an existing transaction and on a line item that already existed on the transaction when it was loaded. Clerk must meet all other levels to edit line items as well.

- CLOSEOUT - Clear Function - Using the Clear function to change to a different register number was not loading the starting drawer amounts for the new register number.

- CLOSEOUT - Changing the register/till number when first entering closeout was not loading the starting drawer amounts for the new register/till number (was using the amounts from the original register/till number).

- DBM - If a hidden record was selected from the Record List ([F3]) then the program was bringing up the next Non-Hidden record instead of the one selected.

- DBM - INVENTORY - Price Fields - Using the Get Percent Profit function ([Ins] key from a price/cost field) was always rounding the new value to a whole number.

- DBM - Matrix Changes - Store Transfers were not being recognized for updating changes to matrix elements.

- GLLINK/CHGNUMS - Store Transfers were not being recognized.

- LOGO - Using the Default Clerk setting was setting the initial clerk number to 0 (with security level of 0) instead of the entered clerk number.

- LOGO - PCI Conversion - The password on Administrative Clerks were not being marked as expired after the message saying they would be was displayed.

- MATRIX ITEMS - Matrix codes using characters above character number 128 (the extended characters that don't exist on the keyboard) where causing the program to not be able to find the items. If items don't appear after installing this release, pack the matrix database

- POR - Tax Formulas - Tax Formulas that had the tax amount set to a fixed $ amount instead of a % (tax by Qty or Line item instead of Cost) were not working correctly.

- POR - Vendor Entry - Pressing [Ctrl+F5] was running the Show Info function instead of the Show Summary function.

- SUMMARY.EXE - VARIANCES - The Summarize History program was not working correctly with variances that had over 7 line items (could case program to crash if over 9 line items).

- SUMMARY.EXE - PURCHASES - The Summarize History program was not adding in the Cost amount from purchase invoices so the Show Summary function was always showing the dollar amount of purchases to be $0.00.

- TRN - Recurring Charges - If any changes were made and the ID was left blank and the Process button (or [F10]) was pressed, then the program was displaying the "ID cannot be Blank" message and was getting stuck on that message.

- FMTR - Fields that where below the bottom of the screen were being displayed on the first line of the screen (display issue only, does not change the form).


6/15/10 - v7.00 Build 34

TRN - Process Recurring Charges - Added support for selecting individual transactions when the "From Trans Type" settings are set to "Print-Individual". Note: Extreme care must be used when running in this mode as it is very easy to select the same transaction more than once (creating duplicate charges). The program will warn if the same transaction is selected twice in a row.

TRN - Process Recurring Charges - The program keeps track of when the last time a Recurring Charge Setting was used to create transactions. If it is used again on the same day, the program will display a warning that the settings were already used and ask if you want to proceed anyway.

TRN - Process Recurring Charges - Added a "Print Button" setting to enable printing transactions as they are created. This is done by selecting which "Print Button" to activate after each transaction has been added.

- CNF - Sales Payment Types (Keystroke POS only) - If the edit payment type screen was brought up and then cancelled (Ok or F10 not selected), then the program was always turning on the "Food Stamp Items Only" parameter. Workaround is to go back in, clear the parameter, and then save the payment type.

- POR - The number used internally for the line item amounts (qty*cost) and the subtotal were not being rounded to the digits specified for money (even though they were being displayed with the correct number of decimal points). This would cause the program to keep asking for additional payments when only a fraction of a penny was still needed.

FMTR - Field Widths of 0 now display the field as the length of the field name (or width of 10 if field is blank). Also, the [Ctrl+Left] key can now be used to set the field width to 0. (Field width of 0 means the field bases its width on the contents of the field and will not truncate it or add any trailing spaces to it).


6/09/10 - v7.00 Build 33

TRN - Process Recurring Charges - Added a "Changes To Transactions" list to the "Process Recurring Charges" settings. This list contains the changes to be made to the line items on each transaction is it is copied. The list can be edited by using the standard list commands for copy/cut/paste and add/edit items. Selecting a line in the list will bring up the "Change To Line Items" settings box. Each line is applied to the transaction in the same way "Tag-along" scripts are added and uses some of the same parameters.
- The "Action" button sets whether to Add or Replace a line item.
- The "Location" button is used to select where to add/replace the new item. The options are "First Line", "Last Line", "Current Line", "Specific Line" (you can then enter a line number) and "Specific Inventory Item" (you can then select an inventory item from "Old Item" button). If "Specific Inventory Item" is used, then the program will search the transaction's line items for one that matches the item specified. If one is not found, then the entire transaction will be skipped.
- The "New Item" button is used to select which inventory item to add to the transaction.
The rest of the parameters are the same as are used in Scripting when adding a "Tag-along Item".

CNF - PAYMENTS - When editing and then saving a payment type, if an external authorization method other than KeyPay is specified and the "Purge Ref/ExpDate Immediately" parameter is off, then the program will display a PCI Warning message stating that the parameter should be turned on for that payment type.

DATENAME.EXE - Recompiled to 32 bit version that returns an ErrorLevel if it does not succeed.

MAPFILE.EXE, INIMERGE.EXE - Recompiled to 32 bit version that will run correctly on 64 bit operating systems.

- RECORD LIST - INVENTORY - Filtering on Inventory Vendor information was not working in record list boxes. (May need to reinitialize license files for change to take affect).

- REPORT VIEWER - The default size of the window for viewing condensed reports on the screen was too wide.

- POR - The Transaction Browse function was looking for Purchase Orders even when the "Disable Purchase Orders" parameter was turned on.

- TRN - Debit Card (ATM) entry with KeyPay was stopping on the confirm payment amount screen even when set to skip it.

- TRN - MICR READER - ERROR 13 with IBM-4610 and EPSON-TM600III. If using either of these 2 MICR readers, the program would get an error 13 when processing the MICR track returned by the reader.

- TRN - Process Recurring Charges - The "From Trans Type" list was not working correctly.

- TRN - No Fractional Qty - If an item used a Departmental Script (script that comes from the item's department/category/location instead of it's own script) then the item was being flagged as having the No Fractional Qty flag turned on even when it wasn't.

- VAR - Import Items - When importing items, items not found now retain the information that was imported both on the screen and when saved as an open variance.

6/04/10 - v7.00 Build 32

Synced with v6.30 build 35

CNF/TRN - Security Levels - Added security levels under Sales Manager: "Process Recurring Transactions - Run" (default=7), "Process Recurring Transactions - Edit Settings" (default=6), and "Process Recurring Transactions - Save Settings" (default=6).

RECCHRG.EXE - Added the command line switch "ID=" which can be used to specify which of the saved Process Recurring Charges settings is to be used. Any other switch can still be used to override the settings stored with the specified ID. (If used, and the ID is not found, then the process will be abandoned.)

TRN - Process Recurring Charges - Added the ability to specify how the transactions that are being processed from are sorted, selected, and if a range or filter is to be used. The entry of these parameters is the same as what is used on reports. This allows a single transaction type to support many different lists of recurring transactions by using a field on the transaction to determine which kind of recurring charge the transaction is for (e.g. Customer Order Number, Price Table, etc.). Note that when sorting by Date, the range fields cannot be used so a filter must be used if the Transaction Date determines which kind of recurring charge the transaction is.

TRN - Process Recurring Charges - The "From Trans Type" list is now limited to transaction types that are stored in their own transaction file (not KSTR####.DAT). Also, the Alternate Trans Type (used when payments are denied during processing) is restricted to transaction types that do not have a minimum payment set on them.

TRN - Process Recurring Charges - Changed the "Ok" button to "Process". (Pressing the [F10] key still selects this button).

TRN - Process Recurring Charges - If the Settings ID is changed, then the program will ask if you want to Save Changes if the Process button is selected without first selecting the Save button.

IMPTRN/IMPPOR - If the Customer/Vendor Lookup Name is not imported and the Customer/Vendor record is being updated, then the program will set the LookupName to the Customer/Vendor CompanyName (or LastName, FirstName if CompanyName is blank).

SHOW STATUS - Added the title "Status Report - Keystroke Point Of Sale" (or "Keystroke Advanced POS") to the top the Show Status screen ([Shift+F12]).

TRN - TEMPORARY LICENSE - The Process Recurring Charges function will be disabled if a temporary license has expired.

- DATABASES - BIRTHDATES - BirthDate fields that were set to blank (0 or " / / ") where being set to 12/31/1984 instead of the Null date.

- DATABASES - Default Values - Default field values entered on screens other than screen 1 were not always being used.

- DATABASE - CONTACT - Contacts were using the wrong security levels. Query Contact was using "Enter Returns", Edit Contact was using "Access Closeout", and Add Contact was using "Query Vendor".

- TRN - KeyPay Authorization - Voice Auths were not working (would return the message "Recurring Payment not found").

- TRN - Credit Memos - Credit Memos that used a payment type with the "Always Mask Ref" parameter turned on were not saving the Reference field correctly.
- TRN/CLOSEOUT - Shipping - All transactions were being marked that Shipping may be taxable even when the Shipping Tax Code was blank. This would cause the Closeout Summary report to include the Shipping amount in the Non-Taxable field on the report.

- WS#.INI - BackGroundPicture= - Error 91 - Setting the BackGroundPicture equal to Blank (no background graphic on the logo screen) was causing an error 91 at several different and somewhat random places in the program. This was caused by one of the routines that draws text on the screen testing this parameter incorrectly. The program now correctly recognizes that there is no BackGroundPicture to test, eliminating this error.


5/26/10 - v7.00 Build 31

Synced with v6.30 build 33

IMPTRN - When looking up a customer and/or contact, if a match is not found, the program will now use the default information on the database screens to initialize a new record. Any fields imported after that will then overwrite the defaults. (This is the same way the Importer module works).

RECORD LIST BOX - If the Record List Box is showing a transaction file and the end date is midnight, it will now display the date as the day before to better indicate what transactions are in the file being displayed.

SECURITY LEVELS - If a function's security level is set to -99, then it will be disabled no matter what a clerk's security level is (i.e. even a clerk with a level of -100 won't be able to use that function).

TEMPORARY LICENSE - If a system is installed with a temporary license and the license expires, then the following functions will be disabled: Edit Security Levels, Add/Edit/Delete database Records, Add/Edit/Delete Sales Transactions, Add/Edit/Delete Purchase Invoices/Orders (Reserved Orders can still be used), Edit Time Clock Entries, Post Variances, Add/Edit/Delete ROA Payments, Edit/Delete Closeouts and PaidOuts.

VAR - Parameters - Added the parameter "Default Physical Qty to "1" (scanning)". If this is on, then when an item is entered the physical qty will be set to 1 instead of 0. This should only be used when scanning items in and having the program merge same items together automatically.

- CNF - Hardware - CustomerDisplay/SecurityFeed - the editor for the display file was not showing the changes as they were being made.

- DATABASES - Which One? - If more than one record had the same information in the field being looked up, the program would stop finding additional records as soon as it hit one that was marked as hidden. This would cause the "Which One?" list to not contain all the matching records (and could even cause an "Item Not Found" message if the first record in the list was hidden).

- IMPORTER - The default KSEXPORT.KSI setup file did not include all the new fields available in v7.

- IMPTRN - Using "Clerk Initials=" to assign the clerk to a transaction was generating an error.

- KSR - The Sort and Ranges when printing the Category and Location databases by Code were not working.

- LOGO - Conversion of Store Transfers - The conversion of Store Transfers (from the StoreLink module, KSSTR*.DAT) was not working.

- LOGO - DATA CONVERSION - The program was not looking at "Split Transactions On" Setting from the previous version. This was causing it to always calculate what the "Split On" setting should be instead of using the setting already specified in the data files.

- MACROS - The macro SendKeys={Update} was only updating the main window, it now gets sent through to the main and current window.

- TRN/AR - Credit Memos and KeyPay - If a credit memo (ROA payment entered in Sales Manager) was processed through KeyPay, voiding the payment in A.R. (deleting the ROA payment) was not correctly processing the payment through KeyPay.

- TRN - CONTRACT PRICING - Contracting pricing on the default customer was not working except on the first sale after entering the Sales Manager. The Contract Pricing files are checked when the customer entered on the transaction is changed. If using the default customer on 2 sequential transactions, the contract pricing was only working on the first transaction since the customer is not changed on the second one. The program now checks at the beginning of each transaction even if the customer is the same.

- VAR - The AltID# field was not being read in to be displayed on the line items. Also added the ability to display the AltID# in the detail box.

- VAR - Importing by the Manufacturer field was not working.

- VAR - The Which One? function for selecting an inventory item was not working. It would always show the item as "not found".


5/14/10 - v7.00 Build 30

BACKGROUND COLOR - Setting the BackgroundColor to RED=0, GREEN=0, BLUE=1 (which is what is used in Tutor data) will cause the background color to be displayed as Blue for Keystroke Advanced and Maple for Keystroke POS.

SCREENS FLAGS - Improved the look of the screen flags (appear at bottom of window) by making them shorter at certain resolutions.

PROD - REPORTS - Templates - The program will now print Optional Items on Template reports. The report field "OptionalItem" is set to "1" on Optional Items and "0" on standard items. A filter on that field to specify whether or not to print the Optional and/or Regular items can then be used or a variable can be printed marking the optional item (the default report form is set to print "(Opt)" in front of the Optional Items).

TRN/POR/STR/PROD/VAR - Increased the number of line items displayed on the screen.

TRN - AUTHORIZE WITH KEYPAY - If trying to process a payment through KeyPay and the KPSTATUS.TMP file could not be found, the program will now state that the file could not be found along with the message that it could not connect to KeyPay.

TRN - KeyPay - Keystroke will accept the Using Modem message from KeyPay and will update the Authorization in Progress message on the screen to add the line "Processing through Dial-Up, please wait..." to indicate that it may take longer for the payment to be processed. (Requires KeyPay v6.30 build 36 or newer).

- TRN - KeyPay - Dialup - The timeout on a response is set to 20 seconds, so if it takes longer than that for KeyPay to send back the response from a payment process Keystroke will timeout and display the No Response from Keypay message. However, with some modems, it can take longer than 20 seconds so now Keystroke will set the timeout to 90 seconds when KeyPay informs it that it is using the modem to process the payment. (Requires KeyPay v6.30 build 36 or newer).

ADVANCED POS - T macro command @TOGGLEFLAG(ADVANCED) can be used toggle the system between running as Keystroke Advanced POS and Keystroke POS (program must be Advanced POS for this to work, Keystroke POS does not support it). Note: This macro can be assigned to one of the toolbar buttons.

ADVANCED POS - If the macro command @TOGGLEFLAG(ADVANCED) is used, then the program will now show the change by changing the Title Bar and Background color of the program as well as the logo screen.

- CONTPRIC - The expiration date was not being saved correctly (was saving a date based on what was in the first column of the grid (stocknumber/ productcode, etc.) instead of the date column).

- DATABASES - Hidden Records When looking a record, the program was ignoring the Hidden flag and was finding an item even if it was hidden.

- DBM - Matrix Categories - If a matrix category was changed and a change was not made to a matrix table at the same time, then the change to the category (usually an element code being changed) was not being recognized for updating databases and history.

- KS2QB - Was getting Error 70.

- LOGO - CONVERSION - Matrix Items - the cost on the 4th vendor (which didn't exist in previous versions) was being set to $0.00 instead of Null. (Also, in build 28 this conversion could generate an error).

- MACROS - Editing - selecting a function from the look up list was not always working (e.g. a ToggleFlag that does not have any options).

- MAIN SCREEN - Title Bar was always showing as "Keystroke Advanced POS" even when the license was just for "Keystroke POS".

- POR - RECEIVING - The Special-Receiving function was not updating the Order/Invoice Transaction Letter (next to the Number, shows how many invoices were created from the order).

- TRN - Transactions with more than 5 payments on them could cause errors to occur.

- VAR - The [PageUp] key was jumping up 2 more lines than it should have.

- VAR - Entry by the Manufacturer field was not working (was doing the lookup as AltID#).

- VAR - AutoFill - when entry mode was set to Manufacturer, the AutoFill function was importing in order by AltID# instead of Manufacturer.

- VAR - Line Item sort ([Shift+F2]) was not working correctly when sorting by Stock Number.

- VENDORS - The lookup list from the Vendor Payment field was showing the Sales Payments instead of the Purchase Payments.


5/04/10 - v7.00 Build 29

REPORTS - The "Don't Print if Empty" parameter is now ignored if any of the sections below it are set to "Print Individual".

- BACK/OPEN ORDERS - If the Back/Open order list is empty, then the program would give an error 63 after trying to display the list.

- CLERK MESSAGES - The Clerk message screen was flashing and not staying on the screen when a new clerk logged in.

- DATABASE ENGINE - It was possible for the indexes to not get updated properly when adding items to a large database and the sort position of the new item was near the beginning of the list. The item would still appear on most reports but searches for it would fail. If having this problem, packing the file will correct it.

- INVENTORY - The LOCATION NAME field was always displaying as blank (also when printing and exporting which use the same routine).

- KSR - RANGE - Using the lookup list ([Ins], [F2]) was not working correctly and would always return the same characters (e.g. "D I").

- LOGO - CONVERSION - Matrix Items - the cost on the 4th vendor (which didn't exist in previous versions) was being set to $0.00 instead of Null.

- MATRIX ITEMS - Searching by Product Code was not working.

- MATRIX ITEMS - Vendor Info - The Vendor Cost field was not allowing it to be set back to Null.

- RECLISTBOXES - Transactions - If the "No Records found, jump to:" message was displayed and it contained the "Next" button, then the "Previous" button would not work correctly (was being treated as the "Next" button so there was no way to go to the previous transaction). Workaround was to use [Ctrl+PgUp] to go to a previous transaction and then pull up the list box which would then start in the previous file.

- RECLISTBOXES - Comments - Pressing [Shift+Enter] to display a comment while in a record list box would generate an error.

- DOLU - Contract Pricing was using the wrong registration code.


4/29/10 - v7.00 Build 28a - not released

LOGO - Changed background on logo screen. It now displays "KSIMAGES\MtnPOS.jpg" (or "KSIMAGES\MtnAdv.jpg" if Advanced). Also changed it so if the BackgroundPicture = parameter is used in a .ini file, then the program will still display the new Keystroke POS Logo graphic ("KSIMAGES\KSPOS.bmpP" or "KSIMAGES\KSAdvPOS.bmp").

ABOUT SCREEN - Changed the background graphic to "KSIMAGES\KSAbout.bmp" (or "KSIMAGES\KSAboutA.bmp" for Advanced).

SPLASH SCREEN - Changed the background graphic to "KSIMAGES\KSSplash.bmp" (the old one is "KSIMAGES\KSSplasho.bmp")

KSR - ON SCREEN PROGRESS - Added a progress bar to the main screen when generating reports/labels.

KSR - SUB-TOTAL BY SORT FIELD - Added a new setting on some of the reports called "Sub Total when value changes". When available, it appears under the Sort By button . If it is on, then the program will monitor the value of the field that the report is being sorted by and will print a "Sort By Sub Totals" line each time the field changes (as long as the fields are set on the form, see "SBT" below). The reports that currently support this are the Inventory Database and Analysis reports, and the Customer and Vendor Database reports.

KSR - REPORT EDITOR - Added a new type of line for Sort By Sub Totals ("SBT"). This works the same as the current Sub Total lines ("ST") but is set using line number -1 (instead of 0) and it only prints when the new "Sub Total when value changes" parameter under "Sort By" is turned on.

KSR - REPORT EDITOR - Field Editor - The Line Number field now accepts the use of characters so ST and SBT can be entered (as well as 0 and -1). Also, can now press [Ins] from this field to get a list of entries ("ST", "SBT", or a number). Note, -1 and "SBT" are only supported on reports/sections that support the "Sub Total when value changes" parameter.

KSR - NEW FIELDS - Added the fields "Sort By Field Name" and "Sort By Field Value" under the list of System fields. These can only be selected from the list of System fields when editing a report section that supports them (the "Sub Total when value changes" parameter is available). They are designed to be used in the "SBT" lines and will print what the Sort By setting currently is set to and what the current records value is for that field.

KSR - SORT BY DEPARTMENT TOTALS - Inventory Analysis Report - Added the ability to sort 2nd Grouping (e.g. Department) by the same report totals fields that Inventory has always had (e.g. Gross Revenue, Profit, etc.) (Note that these fields are not affected by filters on the on the Inventory Items so if an Inventory Filter is used the sort may not match the report figures since it will be based on totals without the filter.)

KSR - REVIEW PARENT/CHILD RELATIONSHIPS - Inventory Database Report - Added the parameter "Show Parent/Child". If this is on then the items with parents will be listed under their parents (no matter what the sorting/grouping is). The program will also keep internal track of what level (generation of child from the parent) is being printed.
- If the "Roll Child Into Parent" parameter parameter is on and the "Show Parent/Child" parameter is also on, the child item will be printed but the QOH and Totals fields (Price Total, etc.) will be printed as blank (since these figures are already included in the parent's line).
- Added a new Flag for individual fields in the Report Editor called "Indent for Parent/Child level" (flag value is 262144). If this is on, the program will add one dash ("-") to the beginning of the field for every level down in the parent/child relationship that the item is.

KSR - MATRIX TABLE REPORTS - Added a new Matrix Tables report. This can be used to print the list of Matrix Tables, Categories and Elements. If grouped by Matrix Table, then the categories will be repeated under each table they are in. This means the categories that are used on more than one table will be repeated and those that aren't used won't print at all. Setting the grouping to None will give a list of all Categories.

CLOSEOUT - PRINT TO SCREEN - Added the parameter "Print to Screen". If this is on, then the reports will be sent to the on screen Report Viewer instead of directly to the printer. The viewer's print button can then be used to send the report to a printer. (The Printer setting is still used in this case to help format the report.)

CLOSEOUT - SEND TO MULTIPLE PRINTERS - Added 3 more sets of Reports Settings (for a total of 4). When the "Print Closeout" button is selected, the program will go through each one of these settings and print the checked reports to the selected printer. (If printer is set to None, then the settings are skipped).

CLOSEOUT - Added the parameter "Prompt Before Printing". If this is on, the program will stop and ask "Proceed with printing Closeout Report to ... ?". Selecting Yes will continue with the reports. Selecting No will skip this setting and go on to the next (if there is one). Selecting Cancel (or ) will stop the Print Closeout function and return to the Save/Print Closeout box.

CLOSEOUT - CASH and CHECK CALCULATORS can PRINT TO SCREEN - Added a Print To setting for the Cash and Check Calculators where you can select which printer to use when the Print function is used. Can also be set to print to screen. Note: When the Cash Calculator is run from a macro (toolbar button), the Print function will now always print to the screen first (ignores closeout setting since this can be done from anywhere in the program).

SCRIPTING - NEW ADVANCED RESTRICTIONS (Only available in Keystroke Advanced POS). The scripting functions now support new Advanced Restrictions which can be used to determine when a script will run. These include Start/End Date, Time Window (e.g. happy hour), "Day of Week", and "Day of Month" settings. (Note, if not licensed for Advanced POS, the button will not appear).

TRN - TRANSACTION LIST BOX - When the transaction list is sorted by Transaction Number or Date, it will now start at the end of the list instead of the beginning (same as pressing the [End] key when first entering the list).

TRN - RECURRING CHARGES - Added the ability to save the settings under the Process Recurring Charges function (Advanced POS only).


4/23/10 - v7.00 Build 28

Synced with v6.30 build 32

LOGO - CONVERSION - When first run with data from a previous build of v7, the program will run a short conversion program to the current build (28). This checks and corrects stock number greater than 32,767 in script and production files.

RECORD LIST BOXES - Increased the number of monetary digits that can be displayed in a column by 4 (e.g. Maximum Amount Due that can be displayed on a customer list went from $9 million to $99 billion.) Also added 1000s separators (commas) so 9 million is displayed as $9,000,000.00).

- CONTPRIC - If the Exp Date was in the first column, then the program would not allow it to be updated/saved correctly. Fixed it so Stock Number is always in the first column (workaround in previous releases is to use the Restore Default Settings function to set the columns back to their correct positions).

- DBM - Changes made to the Matrix Tables were not being recognized until up to 1 minute after the changes were saved. Workaround is to change modules (or what a minute) which then reloads the tables.

- LOGO - CONVERSION - Database Screens - the inventory screens converted and placed in the v6data directory with the .v7 extension were being converted again by the build 18 conversion if copied to the DBSCREEN\ directory. This could then cause an error when looking at an inventory item.

- LOGO - CONVERSION - Scripts-ItemLists and Productions - Inventory Items that had a stock number of greater the 32767 were being left with a negative stock number (automatically fixed, see above note for LOGO - CONVERSION).

- MATRIX DATABASE - Then Vendor Information and User fields were not being read in when editing a matrix item. Saving the item would then save all these fields as blank.

- MATRIX DATABASE - Vendor Info List - Cost was showing as $0.00 when it should have been showing as null.

- PROD - The update COGSAdjustment parameter was not working when saving a production (how costs are updated is controlled by the Update Cost parameters in Purchasing).

- TRN/AR - Fixed error 6 if a customer had an amount due of over $2 billion dollars.


4/15/10 - v7.00 Build 27

AR - Parameters - Added the option to default customer entry to the Invoice# field (Advanced Only).

CNF - EXPORT - Matrix Categories - Added a new field to the end (Elements List - field number 201) that contains a list of all the elements in a single field.

REPORT EDITOR - If a field is marked to print as a list (Serial Numbers, Alternate Codes, etc.) then the field for "Num Decimals:" is changed to "Num Columns". This allows multiple entries in the list to print across the page. If used, the "Space Before" field determines the space between the columns. (To indent all the columns, enter a blank field before the list field).

- DBM - Matrix Tables - If the order of the categories in a matrix table were switched, the program was not updating the databases and history for the change.

- DELTRANS - Was generating an error 52 when deleting a transaction with serial numbers.

- KSR - Tax Tables - The Tax Districts printed with a Tax Table were not printing in the same order as they were entered on the Tax Table.

- TRN - If a line item had XFer pricing, and a fractional qty, it was possible that the transaction's subtotal would not be rounded to the nearest penny which could cause the program to create a $0.00 change amount.

- TRN - KeyPay - Fixed error 6 that would sometimes happen when processing a payment through KeyPay (caused by combination of a large customer number and a large clerk number).


4/13/10 - v7.00 Build 26

CLOSEOUT - Payment Report - when printing to a full size printer, the payment types that are not marked as detailed will print on a single line instead of taking up 3 lines.

DATABASE - Inventory - Increased maximum size of multiplier from 4 to 6 digits.

LOGO - Changed around the "Maintenance is about to/has expired" messages to not mention the $100 renewal discount and to also display more often for systems that are expired.

KSR/KSL - CUSTOMERS/VENDORS - Added the new Sort By fields available in v7 (WebId, CompanyName, LastName) to all the reports.

KSR/KSL - Inventory - Print Individual - The Inventory List box now remembers the last filter used after selecting an item to be printed.

TRN - Line Entry Parameters - Added the parameter "Auto Return to Lookup List". If this is on then after an inventory item is selected from the lookup list, the program will automatically bring the list back up when it gets to the point to enter a new line item (press [Esc] to exit out of the list and enter the item in a different way or to complete the sale.

TRN/POR/VAR/PROD/STR - Inventory Lookup List - Filters - While entering line items, the Inventory List box now remembers the last filter used if the list box is brought up to select the next item (the filter is cleared if an item is entered in a different way).

TRN - Inventory Lists Remember Position - The list box will now remember which line number the highlight was on when the last item was selected instead of always showing the last item on the first line of the list box.

TRN - Select Transaction - the program now handles the "No Records Exist in current transaction file" message better by only displaying the Next and Previous buttons when a next or previous file exists and defaulting to Cancel if the button for the default direction is not displayed (so you can tell when you've reached the first/last file).

TRN - Payment Entry for KeyPay - A payment entry that would be considered a duplicate can now be force through as not a duplicate the first time by entering an "F" in the reference field and then entering the card number. (This in addition to the method that was already supported where the "F" was inserted at the beginning of the reference field after the card number was first entered).

- AR - Delete - Fixed error 13 when deleting an ROA payment that had been processed through a Auth Method.

- CLOSEOUT - Payment Report - Details - moved the starting point of the Details lines and over to the left 2 spaces and changed the format of the Customer Number and Name fields so larger customer numbers would not be cut off.

- DBM - Matrix Tables - If the Element Codes on matrix items were being changed due to a change in the Matrix Tables/Categories, the program was not always going back and updating the Matrix Codes on other data files (Transactions, Variances, pictures, etc.).

- KSR - Vendors Reports - The First+Last name field was printing from the "Hidden" field position. This release will convert all reports that use this field to the correct field number (from field number 68 to 69). Note that if the hidden field is what was wanted, it will have to be changed back.

- KSR - Inventory Analysis - the list Sort By list on customer's was not in the correct order (WebID, CompanyName, and LastName should have been on the bottom of the list).

- MONEY DISPLAY - The change in build 25 to the way negative money amounts are displayed was not implemented everywhere.

- SCREEN - BUTTONS - Clicking on a button that brought up another window would cause the new window to not recognize the first mouse click on it.

- TRN - Select Transaction - when viewing an alternate transaction file (like On Hold) and there were no records, the program was getting stuck in a loop. It now displays the message that no records were found and exits the function.

- VAR - Matrix Items - Importing matrix items that already existed was not retaining the item's matrix code so it would then not update the matrix item's record (but would still update the inventory item).


4/05/10 - v7.00 Build 25

AR - Enter Customer - Invoice# field - NOTE: the ability to lookup customers by Invoice # is only available in Keystroke Advanced.

CLOSEOUT - Parameters - Settings - Changed the box around so the Reports Settings (which include the printer number) are now in their own separate box which can be accessed by selecting the Report Settings button. (The reports are run by selecting the Print Closeout button at the end of the closeout procedure.)

INI FILES - Added parameter SoundWhichOne= for the sound played when the "Which One?" list is displayed. If left blank (which is the default), then the Warning Sound will be used (SoundBeep times Number of Beeps parameter).

MONEY DISPLAY - When adding the currency symbol ("$") to a negative amount, the program will now but the minus sign in front of the currency symbol (e.g. changed from "$-1.23" to "-$1.23").

SCRIPTS - Added a new "Advanced Restrictions" button to each individual script. Pressing this button will bring up the Advanced Script Restrictions box where the following can be entered:
- Start/End Date - Date range that the script will be active for.
- Time Window (Happy Hour) Start/End times - The time of day that the script will run in (repeats every day)
- Day of Week - Similar to Time Window but defines which days of the week the script will be available on (repeats every week).
- Day of Month - Same as Day of Week but based on the calendar month (repeats every month).
- Any combination of settings can be made, if any one is not met, the script will not run. None of the settings need to be filed out (e.g. if none of the Day Of Week days are checked, then Day of Week is not checked).
- If more than one of the same setting is need (e.g. a morning time window and an afternoon time window) simply copy and paste the script on the main Scripted Item screen and the change the Advance Restrictions for the other set of settings (in the case of 2 different time windows, even the scripted item will appear to have the same script twice only the morning one will run in the morning and the afternoon one in the afternoon and neither will run outside of the time windows).
- This feature is available only in Keystroke Advanced, it is not available if Scripting was purchased separately.

TRN/FMTR - DataPort/Sales Transaction Forms - Added the field "Machine Number". This is the number currently assigned to the Keystroke process that printed the information (not necessarily the machine the transaction was first entered on). (This number is either assigned automatically or is set through the command line switch MNUM=.)

TRN - Process Recurring Charges - Change the settings dialog box to be easier to use.

- CONTACT LIST - When leaving the Contact Record List Box, the customer data file was being closed. This would cause an Error 52 in the Customer Record List box if is was already being displayed. (from build 24).

- DBM - Matrix - If the record list box was set to sort by Product Code, and there were no matrix items with their own Product Code, then the Record List for Matrix items would always go into add mode (since it did not see any matrix records when search by Product Code).

- EXTRACT - Customers - Was not extracting customers unless start date was prior to 12/31/84.

- KSR - Audit Report - The program was not formatting the print out of the audit entry for Recalling or Deleting a Variance correctly and would sometimes generate an Error 6.

- KSR - Inventory Database - The Roll Child into Parent parameter was not rolling up the average cost of the items. (In most cases this would not make much of a difference since the cost of the child item comes from the parent in the first place.)

- VAR - Matrix Items - Selecting a matrix item from the pop-up grid or lists was not working correctly (could give error 63).


3/25/10 - v7.00 Build 24

CNF/TRN - Sales Payment Types - Added new parameters to Sale Payment Types for an Alternate Print Button that will be defaulted to when the payment amount is below a given threshold. The Alternate Print Button is set using the new "Alt (Under) Print Button" while the new "Threshold to use Alt Button" field is used to set the amount where the program switches from the primary to the new alternate button. (For example if the Print Button is set to "Credit Card w/ Signature" and the Alt Button is set to "Receipt" and the threshold is set to $25.00, then a payment amount of $25 will default to the standard "Credit Card w/ Signature" button while a payment of $24.99 will default to the alternate "Credit Card w/ Signature" button. (If the threshold is left at $0.00 than the Alt Button will not be used.)

DBM - Matrix Record List - If a field is null on the matrix item, the program will now display the information from the inventory item instead of just leaving it blank in the record list box. When this happens the information will have the Null symbol in front of it to highlight that it is coming from the inventory record and not the matrix record.

KSR - Department Database Report - added the ability to print "Hidding Items Only".

KSR/KSL - Changed the use of the field flag "Skip Line if Blank" to no longer require that it be the first field on the line.

KSR/KSL - Changed the use of the field flag "Line Feed After this Field" to no longer work if the field itself did not print.

POR/DBM/STR/PROD/UDPRICE - INVENTORY - Program now updates the "Old Price" (aka "Prior Price") and the "Price Changed On" fields whenever the price is changed. Note that the Old Price field is maintained by the program and should not made editable or imported.

TRN/POR - Transaction List Box - Increased length so it would show more transactions at one time.

RECORD LIST BOXES - Scroll bar will now indicate when you have reach the beginning or end of the list (indicator will move to top when first record is highlighted, bottom when last record is highlighted).

RECORD LIST BOXES - When jumping to the end of the list, the program will now place the last record at the bottom of the list box (showing additional records above it) instead of at the top (where it was the only record that could be seen).

- KSR - CUES - The Tables reports were not available on the menu list when adding new report settings from the Cue function.

- KSR - Inventory Analysis - the Avg and Percent fields for Department Calculated were always 0. (Not used very often since these same numbers are available from Inventory Sub Totals.) (Note that these fields are not affected by filters on the on the Inventory Items.)

- KSR - Inventory Analysis - running the analysis a 2nd time with different settings and with 1st Grouping turned on (e.g. Grouped by Department), the program was sometimes printing out 0 for everything (the analysis data files were not being adjusted correctly for the new settings). Workaround was to leave the module and then coming back and then run the report (this completely rebuilds the analysis files).

- POR - after printing a transaction, the program would sometimes leave the internal "Print Now" flag on so the next time the print box was used, it would automatically save the transaction instead of asking to print it.

- STR - Inventory Update - Matrix Items - was not updating matrix items correctly. Fields that were suppose to be updated were being set to the values of the previous matrix item.

- STR - The View Cost security level was not being checked when first entering the StoreLink module.

- TRN - Reversing Transaction - Customer Name - When a transaction is reversed, the date of the original transaction is placed in the customer name field, the program now places this date at the end of the customer name instead of always starting with the 17th character.

- TRN - Max Users - if the "Maximum Number of Users" message appeared, it was not then allowing the user to return to the Navigation Menu so a different module could be selected.


3/16/10 - v7.00 Build 23

TRN - CALCULATE LINE QTY - The Edit Line Item detail function can now be used to calculate the qty that can be sold for a total $ amount including sales tax. If the Qty is 1 when entering this function, then changing the "Total w/ Tax" field will calculate what the qty needs to be to give that total. If the Qty was not originally 1, then it will calculate the Price (which is what it has always done).

TRN - LINE ENTRY PARAMETERS - Edit Field - Added the ability to set the default field on the Edit Line Item Detail box to "Total w/ Tax".

KSR - Filters - If the Filter is too long to be printed on a single line, the program will now continue printing it on the next line.

- CLOSEOUT - REPORTS - The Department Sales report was only printing the "** No Department **" and not any of the others.

- IMPALTIC - Using the /? or /H switch to display the documentation screen was also displaying the import summary screen before exiting the program (but with all 0s since the documentation switch causes the program to not do anything).

- KSR - MATRIX REPORTS - The Matrix Calculated fields for Element 1 Name through Category 4 Name were not working correctly. (Since build 18).

- TRN - Error when adding a Payment - The program was not supporting more than 5 payments on a transaction and would get an error when the 6th one was added. (From build 21).


3/09/10 - v7.00 Build 22 - not released

Synced with v6.30 build 31

CNF/TRN - SECURITY LEVELS - Added the security level "Age Verification - Over Verification Age" which will hide the "Over Verification Age" shortcut on the Confirm Age box in the Sales Manager that pops up when an item with a minimum age is sold (default level is 10).

CNF/TRN - PAYMENTS - If the Auth Method on a payment is set to and External method and the width of the reference field on the authorization method is set to 0, then program will not display the reference field when payments are entered or edited (unless a reference already exists on the payment). (Intended to be used with Cash payment types that do not require a reference or any processing.)

KSR - SALESPERSON REPORT - Added the ability to SubTotal by Commission Code for each clerk.

TRN - In House Check Lists - if the In House Check List authorization method is used, the Reference field must now have something in it before the program will proceed.

- CHECK BOXES - Clicking on a check box that was not the current field was not toggling the field.

- CNF - COMMISSION FORMULAS - The Minimum Sale parameter on Commission Formulas was not being saved correctly (would look correct but would not work correctly when running the commission report.)

- KSR - PRINTING TO SCREEN - Changed it to no longer jump to the last page of the report when the report finishes if viewing at pages before the last page.

- LOGO - Convert Data - Variances - The TotalCost and TotalPrice fields stored with a variance were off by a factor of 10 (price is 10 times more than it really is) when converted to v7.

- MATRIX GRID - The entry field was displaying lower than the actual cell.

- RECORD LIST BOXES - Quick Search was not working with fields that had spaces in the front of them.

- STR - SERIALS NUMBERS - Transferring of Serialized Items was not working in regards to transferring the serial numbers. Items that did not exist in the Transfer To store were not receiving the new serial numbers. Items that already existed would generate an error 76.

- TRN/CNF - Tax Tables - The Tax Table Rate (% displayed on the screen) was being rounded to the Money Decimal Points as set in the CNF-Parameter (usually 2). This is a display issue only and did not effect the calculations.

----- v6.30 Build 31 ---
- CNF - KEYPAY - CHECK AUTH - Was not setting up the the .aut file correctly for check authorization.

- TRN - KEYPAY - CHECK AUTH - Checks entered manually were being sent in as having been magnetically read by a check reader. (As always, you must update to the current version of KeyPay along with the current version of Keystroke).

- TRN - PCCharge - CVV2 - The old INP method of PCCharge was not displaying the correct message for the CVV2 response.
------------


2/25/10 - v7.00 Build 21

IMPTRN/IMPPOR - Create Invoices from Orders - When the transaction type being imported is set to "Convert When - Shipped" and the "Quantity Shipped=" field is imported, then the program will now create an Invoice as well as update the transaction being imported. (This feature was added to v6.21 build 47 but is just now being added to v7.)

IMPTRN/IMPPOR - The "Line Number=" field should be used to update information on a line item that already exists. This should always be the first field after "**START LINE ITEM"

IMPTRN - Added support for field names "TRANSACTION LETTER=" and "TRANSACTION NUMBER=". These are the same as "INVOICE LETTER=" and "INVOICE NUMBER=" and were added for consistency.

IMPTRN/IMPPOR - When searching for a transaction by number, if the transaction letter (TRANSACTION LETTER=) parameter is not used, then the program will now match up with transaction even if it has a letter assigned to it.

KSR - Edit Report Forms - Changed the File Name field to allow non-numeric characters to be entered. (That part of the name must still use 4 characters though.)

- LOGO - When creating a new configuration file (KSCNF.DAT) the program was not recording the current build number which would result in an Error 13. (Workaround is to copy the KSCNF.DAT file from another data set).

- CUSTOMER DISPLAY - The program was sending 2 character 0s (the blank character) at the beginning of each message. This was causing it to not work with OPOS drivers and may have caused problems with other connection types as well.

- SECURITY FEED - Information was not being sent to the Security Feed device.

- FILE LOCKED MESSAGE - AUDIT ENTRIES - When audit entries where cached due to the transaction file not being available and then an audit entry was requested for a function that was set to not be audited, the program would not proceed until it could write all the audit entries that had been cached. This could result in the "File Is Locked by Another User" message appearing if the transaction file was in use. Now the program will continue on and just keep caching audit entries until the file is available (except when changing modules where it will wait until the audit entries can be written to transaction file).

- TRN - SCRIPTED ITEMS - ERROR 6 - Loading a previous transaction with scripted items that are components that have a fixed cost of null could cause an error 6.

- GLLINK - When adding up sub-totals from invoices, the program was not rounding line items to the nearest penny which could cause the GL-Entry to be out of balance if LineItemPrice*Qty resulted in fractional cents.


2/16/10 - v7.00 Build 20

Synced with v6.30 build 30

- LOGO - Convert Data - Variances - Variances with more than 7 items on them were having the rest of the records marked as Variance Headers so packing the file would end up with a lot of extra variances listed (most of them not valid). If data has already been converted to v7 format (prior to v7.00 build 20), then the program will go through the transaction files and fix the variances (as long as the file has not been packed already).

IMPTRN/IMPPOR - Added support for importing the "Extended Description" field.

- IMPTRN/IMPPOR - Inventory lookups were finding the closest match not the exact match so if the item wasn't found, it would load another item.

POR - Added ability to enter a line item by AltID#.

- POR - Entering a line item by Manufacturer was not working correctly.

- POR - Sort Line Item ([Shift+F2]) was not working correctly.

----- v6.30 Build 30 ---
- VAR - Editing a posted variance without changing the date was causing the index to the variance to be lost (it would no longer appear on lists or reports). (Packing the transaction file corrects the problem.)
------------------------


************************ END OF VERSION CHANGES/FEATURES ********************

******************************************************************************
** Program changes made prior to v7.00 **
** Changes prior to 02/02/09 - 7.00 build 20 are in the file README63.TXT **
** Changes prior to 02/02/09 - 6.30 build 10 are in the file README62.TXT **
** Changes prior to 01/26/07 - 6.20 build 10 are in the file README61.TXT **
** Changes prior to 03/28/06 - 6.10 build 10 are in the file README6.TXT **
** Changes prior to 05/03/05 - 5.20 build 21 are in the file README52.TXT **
** Changes prior to 05/10/04 - 5.10 build 10 are in the file README51.TXT **
** Changes prior to 01/03/03 - 5.00 build 20 are in the file README5.TXT **
******************************************************************************

Keystroke POS software is owned by Specialized Business Solutions ("SBS") of Long Beach, CA and is protected by United States and international copyright laws (Copyright (c) 1987-2010. All rights reserved).

For more information about Keystroke POS or other products published by Specialized Business Solutions, call (800)275-4727 or (970)262-1720 or visit our web site at www.KeystrokePOS.com
------------------------------------------------------------------------------

******* The most recent changes are listed near the top of this file *******

MODULES: (Description of Codes used in this document)

Name

Code

Windows

Logo Screen

LOGO

LOGO.DLL

Sales Manager

TRN

TRN.DLL

Database Manager

DBM

DBM.DLL

Variance Module

VAR

VAR.DLL

Purchase Manager

POR

POR.DLL

Report Manager

KSR

KSR.DLL

Label Manager

KSL

KSL.DLL

Account Receivable

AR

AR.DLL

Configuration Manager

CNF

CNF.DLL

Closeout Manager

CLOSEOUT

CLOSEOUT.DLL

 

v4.2 Report Manager

RPT

RPT.DLL

v4.2 Label Manager

LBL

LBL.DLL

Store Link

STR

STR.DLL

General Ledger Link

GLLINK

GLLINK.DLL

CYMA Link

CYMA

CYMALINK.DLL

Importer

IMP

IMP.DLL

Production

PROD

PROD.DLL

Forms Editor

FMTR

FMTR.DLL

 

Mercury Payment Server

MERS

MERCURY.EXE

Mercury Payment Service

MERC

MERCSVC.EXE



Keystroke POS Point of Sale Software

Home | Products | Support | Dealers | Downloads | Search | Contact | Questions?
Tech Support |Training Services | F.A.Q. | Updates

|