POS Plugin

About the Point of Sale (POS) Plugin

The Point of Sale (POS) plugin adds a form to the menu that can be used as an alternative to the usual sales order screen. The POS screen is, of course, a greatly simplified version of the sales order screen and as such is ideal for retail environments where speed and simplicity in sales entry is paramount.

Both account and cash (non-account) sales are supported. Cash sales depend on the cash sales account being nominated in the POS system settings.

Installation

  1. Enable the plugin.

    Search for the "POS" plugin via the Plugin Maintenance form in Jiwa. The POS plugin shipped as standard from Jiwa v7.0.141.0 onward. Ensure the "Enabled" checkbox is checked and save the plugin.

  2. Run SQL Script

    The plugin needs a form entry, and permissions entries created for it. The SQL Script that handles this is found on the documents tab of the plugin - open the SQL Script with Query Analyzer and run it.

  3. Exit Jiwa, and log back into Jiwa.

  4. Import Menu, User Groups

    1. Open the Plugin Maintenance form again and locate the POS plugin - on the documents tab, extract the Menu and User Group XML documents.

    2. Open Menu Maintenance (System Settings -> Menu Configuration -> Menu Maintenance) and import the menu XML. Save.

    3. Open Staff User Group Maintenance (System Settings -> Staff Configuration -> User Group Maintenance) and import the User Group XML. Save.

    4. Add staff members to the POS User group - only these staff members will see the POS Menu.

  5. Import Reports

    1. Open the Plugin Maintenance form again and locate the POS plugin - on the documents tab, extract the two "Report" documents.

    2. Open Reports (System Settings -> Report Configuration -> Reports) and choose "Refresh from Files".

    3. In the file selection dialog, select the two report documents extracted earlier and click "Open".

    4. Save and close the Reports screen.

  6. Exit Jiwa, and log back into Jiwa.

Configuration

System Settings

Only one system setting is introduced by the POS plugin. This setting can be found on the POS tab of the System Configuration form.

An explanation of each system setting is as follows:

Key

Default

Description

Key

Default

Description

Cash Sales Customer Account



Which debtor record should be used for cash sales? Defining a value here reveals a "Cash Sale" button on the POS form that can be used to quickly create a cash sales order.

Bank Accounts

The Bank GL ledgers used by each payment method made through the POS is configured in the same way as payments against a regular sales order entry form. Refer to Sales > Configuration > Payment Types. Only those payment types ticked as POS will be available through the POS form?

 

image-20240418-032038.png

 

Reports

Two reports are included with the POS plugin. The first is formatted for a standard 80mm wide receipt printer, the second for a 56mm receipt printer.

POS invoice 80mm:

POS invoice 56mm:

The appropriate report should be selected (as per the receipt printer being used) and added to the POS form via "Printer Setup":


User Settings

There are a number of settings that can be switched on or off via the actual POS form itself. These settings are per user. Note that these are for the POS form only - not the sales order entry form.


An explanation of each system setting is as follows:

Key

Default

Description

Key

Default

Description

Hide Kit Component Lines

False

Controls whether to display the components of a kit in the items grid, or just the kit header line.

Show Kit Rounding Line

False

It is sometimes possible for the sum of kit component prices to not exactly add up to the price of the kit header. This can occur, for example, because of rounding differences when applying percentage discounts. In such a case a special rounding line is added to take up the few cents of rounding difference. This setting allows the special rounding line to be shown or hidden.

Show Quantity In Search Results

False

Turning on this option causes a "Quantity" column to be appended to the selected items in the search screen. Quantity values can then be entered during search time, rather than afterwards on the items grid of the POS form.

Show SSC Matrix In Search

False

This option causes a matrix of styles, sizes and colours to be displayed in the search screen when a Style-Size-Colour (SSC) item is selected. Quantities for each SSC item can then be entered at search time, rather than afterwards on the items grid of the POS form.

Print an Invoice on Save

False

This option will cause an invoice to print (as defined in the POS Forms' Printer Setup) upon completion of the sale. If multiple invoices are defined for the POS form, then each of these invoices will be printed.

Invoices Print To Screen

False

If this option is ticked, then invoices will be printed to the screen rather than directly to the printer. After viewing on the screen, the invoices can then be sent on to a printer if desired.

Using the POS Form

If you are logged in as a user which has had the POS menu merged in, then a new menu option will have appeared - "Sales->POS". 

Cash Sales

After loading the POS form, focus will be in the "Customer" field. If a cash sale customer has been configured via the POS system settings, the "Cash Sale" button can be clicked to create a new cash sale. In the figure below, the "Cash Sale" button was clicked, and thus the cash sale debtor selected as the customer for this sale. Note that after the customer is selected, the cursor immediately moves to the barcode field, ready to read in products. Once a customer is selected, it cannot be changed. The sale must be cancelled (by clicking on the "Cancel" button) and started over if a customer was chosen in error. 

Now products can be selected. Either a bar-code/UPC/Aux 2 value can be entered, or a part no. The system will try to match on barcode/UPC/Aux 2 first, then part no. If no valid part is matched, then the search screen appears, from which a valid part can be searched for and selected. After a valid part is matched, it is immediately added to the items grid and it's quantity set to the Jiwa system default (usually 1). If a line already exists for the part, then the quantity of that line is simply incremented by Jiwa system default (usually 1). The barcode field is cleared, and focus returned to it ready for the next item. This is illustrated in the image below: 

The quantity of each line can be changed by typing a new value into the "Qty" fields, by using the up/down arrow buttons in each Qty field, or by entering the same item again in the bar-code field. The price can be edited by simply over-typing the current price. A line can be removed completely by clicking on the trashcan icon in the far-right field. Finally, by right-clicking on the price for a line a discount can be applied - a dialog is shown allowing the discount to be applied as a percentage or as an actual monetary value. The discount dialog is shown below: 

Once all desired items have been added to the order, the "Get Payment" button can be clicked. This will show a payments dialog where details of how the customer paid can be entered: 

The payments dialog shows all enabled payment types that are flagged as "POS" in the payment types of configuration form (Sales -> Configuration -> Payment Types), and how much of the order is being covered using a given payment type. Payment types can be removed or added as desired. Because this order was a cash sale, the full amount of the order has been automatically associated with the "Cash" payment type (in fact, the full amount is automatically associated with whichever payment type is flagged as the default in Sales->Configuration->Payment Types). Payments can, however, be split between the different payment types. For example, in the image above, 50 could be entered as the amount for the "EFTPOS" payment type. This would result in an over payment, so the "Change" figure would show how much must be given back to the customer: 

Clicking on the "Finish" button saves a sales order for the customer in Jiwa (containing the selected items), adds the payments to the sales order (payments with 0 amounts are omitted), and finally processes the sales order. Any problems processing are NOT indicated to the POS user. Back-office workers can pick up and deal with any orders requiring processing at a later time, this of course allows the customer to take the goods immediately. An invoice is automatically printed if the appropriate options are enabled (see User Settings). 

The user is now returned to the initial POS form, with all fields blank, and the customer field awaiting input to begin a new sale. 

Account Sales

Enter a customer account no. in the customer field and hit the enter key to create a new sale for that customer. If a customer with that account no. is not found, the system will attempt to find a customer with a matching "Alternate Account No.". Entering an invalid or incomplete account no. / alternate account no. will cause the customer search screen to appear, from which a valid customer can be selected. Once a valid customer is selected, the field locks and focus move to the bar-code field, ready for item selections to be made. 

Now products can be selected. Either a bar-code/UPC/Aux 2 value can be entered, or a part no. The system will try to match on bar-code/UPC/Aux 2 first, then part no. If no valid part is matched, then the search screen appears, from which a valid part can be searched for and selected. After a valid part is matched, it is immediately added to the items grid and it's quantity set to the Jiwa system default (usually 1). If a line already exists for the part, then the quantity of that line is simply incremented by Jiwa system default (usually 1). The bar-code field is cleared, and focus returned to it ready for the next item. This is illustrated in the image below: 

The quantity of each line can be changed by typing a new value into the "Qty" fields, by using the up/down arrow buttons in each Qty field, or by entering the same item again in the bar-code field. The price can be edited by simply over-typing the current price. A line can be removed completely by clicking on the trashcan icon in the far-right field. Finally, by right-clicking on a line a discount can be applied - a dialog is shown allowing the discount to be applied as a percentage or as an actual monetary value. The discount dialog is shown below: 

Once all desired items have been added to the order, the "Get Payment" button can be clicked. This will show a payments dialog where details of how the customer paid can be entered: 

The payments dialog shows all enabled payment types that are flagged as "POS" in the payment types configuration form (Sales -> Configuration -> Payment Types), and how much of the order is being covered using a given payment type. Payment types can be removed or added as desired. Because this order was an account sale, the full amount of the order has been associated with the special "Account" payment type. Payments can be split between the different payment types, but any outstanding amount will always be taken up by the "Account" payment type. For example, in the image above, 50 could be entered as the amount for the "Cash" payment type. This would result in the amount in the "Account" payment type to be automatically reduced: 

What the above image is representing is that the customer paid 50 cash towards the order, with the rest being charged to their account. 

Clicking on the "Finish" button saves a sales order for the customer in Jiwa (containing the selected items), adds any payments to the sales order (payments with 0 amounts are omitted), and finally processes the sales order. Any problems processing are NOT indicated to the POS user. Back-office workers can pick up and deal with any orders requiring processing at a later time, this of course allows the customer to take the goods immediately. An invoice is automatically printed if the appropriate options are enabled (see User Settings). 

The user is now returned to the initial POS form, with all fields blank, and the customer field awaiting input to begin a new order. 

Credit Notes and Refunds

If a customer requests a refund this can be processed through the POS. Simply click the Refund radio button instead of Sale.

Once selected, the whole form will display in a pale red colour to alert the user they are in credit note mode. Select a credit reason to determine whether the goods are returned to stock or not.

 

When you click Get Payment, you are refunding the customer using whichever payment method selected.

When you click Finish, you have created a sales order Credit Note in the background. The refund appears on the Payments tab of the credit note as a positive amount. The refund is appended to the open Cash Book Payment batch.

 

Plugin Download and Version History

Version

Date

Download

Notes

Version

Date

Download

Notes

07.02.01 SR20

Plugin version 7.2.1.12

9/9/24

 

Add InvoiceSaveBefore, InvoiceSaved, InvoiceProcessBefore, and InvoiceProcessed events. These provide customisation flexibility.

Fixed if "Print an Invoice on Save" is ticked under "Other Settings", the error "Cannot print a sales order until changes have been saved." occurs if a period lock is enabled.

07.02.01 SR20

Plugin version 7.2.1.11

02/07/24

 

Fixes issue where Locked GL Periods or unrolled FY cause receipts to not print

07.02.01 SR20

Plugin version 7.2.1.10

26/6/24

 

Includes further changes required to accommodate Tyro EFTPOS integration.

07.02.01 SR19

Plugin version 7.2.1.9

6/6/24

 

Fixes a bug wrt credit reason changing after selecting debtor.

Includes changes required to accommodate Tyro EFTPOS integration.

07.02.01 SR18

Plugin version 7.2.1.7

18/4/24

 

Includes Credit Notes and Refunds.

 

07.02.01 SR16

10/05/23

 

Correctly calculates Total Payment Amount for Kit products. https://jiwa.atlassian.net/browse/DEV-9896

Displays backordered items in Red. https://jiwa.atlassian.net/browse/DEV-9831

07.02.01 +

13/08/20

 

Correctly calculates cash paid when cash sale rounding ON, only for cash payment types.

07.00.175 SR2+

16/01/18

The changes made with Jiwa 07.00.175.00 Service Release 2 introduces an issue with the POS Plugin.

If the POS plugin is enabled when logging in to Jiwa after installing Jiwa 07.00.175.00 Service Release 2, the error "Plugin POS encountered an exception when compiling or loading and was not loaded" will occur and the POS form will not be able to be loaded.

This plugin resolves the error.