Skip to end of metadata
Go to start of metadata


Sales Order Archiving

Archiving of sales orders is available under System Settings > Archiving > Archiving Maintenance. The criteria used are:

  • Sales order has a status of Closed
  • Invoice has been paid and any credit notes raised against the invoice have been allocated
  • The transaction is aged out in the debtor record

The sales orders and all relevant records are removed completely from the database sales order tables and inserted by invoice number, by part number and by debtor into the table SO_SalesHistory. This information is then available from from:

  • Inventory > Inventory Sales menu option
  • Specific inventory item > Utilities > Inventory Sales
  • Debtor Maintenance > Debtor Sales from the ribbon

The invoice or sales records can be printed from any of these screens.]

Bank Reconciliation

The option Allow Multi Select in Other Settings in the bank Reconciliation allows for reconciling multiple lines at the same time To reconcile (or clear or unreconcile) multiple lines at the same time:

  • Tick Allow Multi Select
  • Click, hold and drag to highlight the Line No field
  • Right mouse click and select Reconcile
  • Click anywhere to cancel the selection




The CRM Dashboard now appears under the Contacts menu as well as under System Settings→Dashboards.


Creating New Jiwa Databases

When creating a new Jiwa client database, the General Ledger year number is now generated by looking at the year of the year ending date. For example, a financial year with a start date of 01/07/2015 is now assigned a year no of 2016.



Emailing Debtor Statements

Emailing debtor statements when the debtor email system settings under SMTP are not configured now provides a better error message. The error displays as: ‘

‘CheckResponse(System.Net.Mail.SmtpStatusCode, System.String) - The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [email protected]; (Debtor 1001’

And we have added ‘added "Please check the value in 'System->System Configuration->Debtors->EmailDebtorFromAddress'" to the end of the message’ so the user knows where to configure the email from address used. Users are often confused and think it is the staff member email address.


Summarised monthly 2 year sales are available from the Sales tab of each customer record. Change the years being displayed by selecting the relevant financial year from the drop down box in this tab. Use Custom Columns to arrange the grid to suite. This field replaces the old system setting in System - "CurrentFinancialYearStart".

For the details of these sales figures select Debtor Sales from the ribbon, adjust the form criteria, select Go and print if required for a hard copy.

The criteria grid is automatically loaded with two years worth of sales for that customer based on the invoice date.



The emailing from within Jiwa has been replaced by plugins. We now ship with 3 plugins for emailing - Email - Configuration Outlook, Email - Configuration SMTP and Email - Configuration Office365 REST.

The plugins have their own system settings, and the old email system settings are migrated to the appropriate settings on upgrade.

If the system was configured to send using Outlook prior to upgrade, then the "Email - Configuration Outlook" plugin is enabled upon upgrade - otherwise if the "SMTPServerAddress" system setting was not blank, then the "Email - Configuration SMTP and Email" plugin is enabled.

The "Email - Configuration Office365 REST" introduces the ability to email using the Office 365 REST Web API. By moving this logic to plugins, the ability to support any email server / transport should be possible.


Jiwa Application Manager

We have added two new events to the JiwaAppplication.Manager to allow overriding of the email mechanism.

EmailSendBefore and EmailSendAfter are raised whenever the system sends an email. A plugin or application can handle the EmailSendBefore event and set it's e.Cancel to be true and then write their own emailing routine - effectively replacing the standard emailing logic



Export XSD

We have added Export XSD ribbon tool to all areas where Export/Import XML is supported. This tool will export the XSD's associated with the XML document associated with the XML Import and Export.

.Net 4.6.1

We have upgraded the installer and all projects to target .NET 4.6.1. This was done to clear up some of the issues regarding detection and installation of other versions of .Net including 4.5.x and 4.6.

Note .NET no longer support Microsoft Windows Vista and as such Jiwa will no longer install on aforementioned OS.

ServiceStack Assemblies

Added ServiceStack assemblies to be deployed with Jiwa when installed. This works around a somewhat odd issue when using one of the ServiceStack assemblies as an embedded reference in a plugin. The following assemblies are now deployed to the Jiwa 7 program files folder:

ServiceStack.Client.dll ServiceStack.Common.dll ServiceStack.dll ServiceStack.Interfaces.dll ServiceStack.Text.dll

The version of the above assemblies deployed is The ServiceStack assemblies are used to interact with web services.


Inventory Maintenance


Summarised monthly 2 year sales and usage are available from the Figures tab of each inventory record. Change the years being displayed by selecting the relevant financial year from the Year drop down box in this tab. Use Custom Columns to arrange the grid to suite. This field replaces the old system setting in System - "CurrentFinancialYearStart"

For the details of the sales figures select Utilities > Inventory Sales from the ribbon, adjust the form criteria, select Go and print if required for a hard copy.


Landed Costs

Import Costs

When viewing Import Costs allocated to each line, costs are now displayed in the same order as they’re entered into the Import Costs tab.



Control / Cancel Printing

We have added OnPrintStarting(ReportDefinition) and OnPrintEnd(ReportDefinition) to the Maintenance form base class which raise events PrintStarting(ReportDefinition) and PrintEnd(ReportDefinition), so printing from these types of forms plugins can hook into before and after a report was printed

Magento Updates

We have added debtor export to Magento integration plugin. Debtors with the "web enabled" checkbox checked will be created as customers in Magento.

The email of the customer is set to the debtor email, the first name set to the debtor account number and the last name set to the debtor name.

The customer group is set to Wholesale, and the custom field "customer_id" is set to the newly create Magento customer id.

The plugin has also been updated to support multiple shipments from the Magento store. Previously it assumed one shipment per order. The Wiki entry has been updated to reflect the changes.


The Payflow_dotNET reference for the PayPal plugin has been changed to be an embedded reference.

This means the reference now appears on the Embedded References tab of the plugin, and we no longer install the Payflow_dotNET.dll when Jiwa is installed - the plugin contains the Payflow_dotNET.dll and deploys it.

Plugin Maintenance

We have added a Copy button to the custom fields grid. Previously, a user could move a custom field from one plugin to another by using the Move button on the custom fields grid. This move button would move the custom field and the custom field values to another plugin.

This enhancement adds another button - Copy. Copy will copy the custom field to another plugin, and move the custom field values. This facilitates creating a new plugin to replace an existing plugin, and moving the custom field values with it, but keeping the existing plugin intact.

Purchase Invoice Custom Fields

We have added support for purchase invoice and purchase invoice lines custom fields.


Purchase Orders

Quantity Price Breaks

Quantity price breaks has been added to purchase orders. Price breaks are entered via the Inventory Maintenance form on the Supply tab. Prices are stored per creditor (supplier) per inventory item. The table these are stored in is IN_Creditor_QuantityPriceBreak.

In the purchase order business logic, changing a purchase order quantity will cause a SQL function to be invoked which will return a quantity price break price or 0. Only if the price is non-zero is the quantity price break used. The SQL function invoked is called ufn_JIWA_GetSupplierPurchaseQuantityPrice.

We have also introduced are two new events to allow plugins to override behaviour - GetQuantityPriceBreakStart and GetQuantityPriceBreakEnd.

Purchase Order Generation

The usp_JIWA_Batch_PurchaseOrder_ReplenishToMinimum stored procedure used in the Purchase Order Generation form has been modified so that when the "Default Suppliers Only" option is selected, then lines with a 0 suggested reorder quantity are not returned to the grid. The third last line of the stored procedure is where the logic is. Contact [email protected] if you need advice on changing this behaviour.


Sales Orders

Move lines to a New Order

When the standard Jiwa sales order plugin Move lines to a new order is enabled and lines are move from one sales order to another using this functionality, a new tab is populated in the source sales orders with the details of the lines moved and the destination sales order number.

Stored Procedure - Standard Invoice

Fields from the Cash Sales tab have been added to the standard invoice stored procedure usp_Jiwa_Invoices_Invoice to support printing of custom invoices for cash customers where customer details are entered in the Cash Sales tab.

  • CashSaleName VARCHAR(50) COLLATE database_default
  • CashSaleCompany VARCHAR(50) COLLATE database_default
  • CashSaleAddress1 VARCHAR(50) COLLATE database_default
  • CashSaleAddress2 VARCHAR(50) COLLATE database_default
  • CashSaleAddress3 VARCHAR(50) COLLATE database_default
  • CashSaleAddress4 VARCHAR(50) COLLATE database_default
  • CashSalePostcode VARCHAR(10) COLLATE database_default
  • CashSalePhone VARCHAR(20) COLLATE database_default
  • CashSaleFax VARCHAR(20) COLLATE database_default
  • CashSaleContactName VARCHAR(50) COLLATE database_default


System Settings

Some redundant system settings have been removed from the database.

Section = System

  • RegistrationNo
  • UseGST
  • UsesFX
  • ODBCLoggingMethod
  • BreakoutScriptTimeOut
  • IgnoreCriticalSectionFlag
  • LogSessionStatistics


Complete List of Changes

Getting issues...

Key Summary T Status Resolution Component/s