- Home
- Knowledge Base
- What's New
- July 2026 Updates
July 2026 Updates
Ver 1.0.87
Enhancements
Accounting – Chart of Accounts: The Default column was updated with the following options:
- Accrual (VAT Exc): Previously ‘Accrual’. The VAT Exc Amount is assigned.
- Accrual (VAT Inc): The VAT Inc Amount is assigned.
Custom Reports: Charting functionality was added. Simply update the following columns in the field editor:
- Chart Category: Select a column that drives the vertical access (e.g. Amount).
- Chart Series: Select multiple columns (e.g. Rep, Customer, Period).
If the Chart Settings was populated, a Chart tab appears when the Report is generated.
Dashboard: The existing Dashboard functionality was removed in favour of using Custom Reports with companion charts. Custom Reports can be assigned to a User’s Mobile Dashboard using the following setting: Dashboard (Select from Custom Reports)
Note: Mobile App still in development.
Transactions Enhancements
The following fields were added to the trans_customer and trans_supplier data pipeline (For WHT certificate):
- physical_address_flat
- delivery_address_flat
The following fields were added to trans_header (For WHT Certificates from Payment Transactions):
- wht_amount – sum of WHT item totals in the transaction
- wht_amount_text – as above, but in text
Custom Actions (New Module)
This module adds custom functionality that complements the existing functionality. Typically, you can use it to execute several manual processes into one Action.
Custom Actions can be used in the following modules:
- Transactions
- Service Types
- Custom Reports
- Global: Actions that are not linked to any module that work without any input parameters and are actioned from the Main Menu. Examples:
- Generate Commission Invoices
- Generate Tax Invoices from PoS Invoices
How Actions Work
- Actions consist of an ordered list of items that are executed in sequence.
- Each Item contains SQL that is run on the database and optionally returns a Note.
- If a Note is returned, it is displayed as a message to Users.
- The Input variables that can be used in the SQL are determined by the module the Action is linked to.
- Multiple Items, including duplicate Items (e.g. Multiple Error Messages) can be linked to an Action.
- User Access is explicitly assigned to each Action.
- Actions use a fixed Status list – 0-Pending, 1-Active, 3-Cancelled. Only Active Actions may be executed.
How to set up an Action
- Navigate to Main Menu > Setup > Actions to open the Actions Setup Module.
- The Setup Module consists of List and Edit Views.
List View
- Displays a list of Actions.
- Data Filter: Type, Module, Status (group) .
- Click New > Select the Type which cannot be changed afterwards.
- Menu
- Edit User Access: Assigned using a Dual List
- Export (.sql): Exports the Insert SQL which you can execute on another database (Allows you to copy Actions across databases).
- Copy, Edit, Delete
- Menu (button)
- Save/Restore Layout
- Actions
- Import (.sql): Used to import Actions using the exported .SSQL files)
Edit View
- Actions Button
- View/Edit Note – Edit the Header Note
- Export (.sql)
- Import (.sql)
- Copy & Delete
- Menu Button
- Edit User Access – for the Action
- Save/Restore Grid
- Header Fields
- No: ID assigned by default
- Type: Select on New (Can’t change)
- Transaction: Select a Transaction Type
- Service: Select a Service Type
- Custom Report: Select a Custom Report
- Global: Executed from the Main Menu
- Execute (Depends on Type)
- Main Menu (Global Only)
- Actions (Single): Execute from Actions button on Edit view.
- Actions (Multi-selected): Execute from Actions button on List View.
- Description: Used as the Caption on the Menu.
- Note: Can be used to explain what the Action does.
- Items Fields
- Type
- Error (Message): If a Note is returned, it is displayed as an Error message and the process is terminated.
- Warning (Message): If a Note is returned, it is displayed as a Warning message and the user has an option to click Ok to continue or Cancel to exit the process.
- Confirm (Message): If a Note is returned, it is displayed as a Confirmation message and the user has an option to click Ok to continue or Cancel to exit the process.
- Execute SQL: This item is used to do the main task for which the Action has been created. If a Note is returned, it is displayed as an Information message, for example, to confirm the result of the Action.
- Description: For information only.
- Type
- Items Menu
- View/Edit Note – Item Specific Note
- View/Edit SQL – The Template can be used to generate the boilerplate statement that exposes the required Input and Output parameters.
- Copy
- Delete
- Move Up
- Move Down
SQL Input Parameters
- The Template button in the SQL editor can be used to generate sample SQL to show how parameters can be used.
- Note: A Procedures tab has been added to the SQL Editor – right-click to generate the Call… SQL.
- Global
- user_id: the active user_id is assigned.
- Transaction
- trans_header_ids: a comma separated list of the selected id’s e.g. 1,2,34 OR 1.
- user_id: the active user_id is assigned.
- Service
- project_ids: a comma separated list of the selected id’s e.g. 1,2,34 OR 1
- user_id: the active user_id is assigned
- Custom Reports
- pk_ids: the primary key/s is assigned (first column of the report)
- user_id: the active user_id is assigned
How Actions works in Practice
- Transactions / Service Types
- Single: Can be executed from Edit View > Actions (button)
- Multi-selected: Can be executed from
- List View > Actions (button)
- Edit View > Actions (button)
- Custom Reports
- Single: Can be executed from Popup Menu.
- Multi-selected: Can be executed from Actions button.
Fixes
- Fixed: PoS: When you clocked out the Timekeeping record was not set to the default Stopped Status.
- Fixed: When you moved a transaction from the Left to Right panel, the Open PoS panel would appear on the left. (Instead of the Tile Menu)
- Fixed: Transactions > Batch Updates: The entity__id_selected field was not being refreshed.
- Fixed: Items > Pricing: If you viewed Sell Prices, then opened another module and returned, the filter bar would be incorrectly populated.
