July 2026 Updates
Ver 1.0.89
Enhancements
Items > Pricing: The Status list was updated to the fixed list used in other modules (IDs based on Status.GroupIDs):
- 0 – Pending
- 1 – Active
- 3 – Cancelled
Only Active prices can be used in transactions.
Assets: An Other type was added to record assets that do not require the Vehicles or Equipment attribute sets. Use Other if you only manage an Asset Register with depreciation. Use the Vehicles and Equipment types if you sell and manage serialised equipment or vehicles.
PoS: The Closed Date/User is now only set the first time a PoS session is set to Closed. Later status changes, for example, to fix something, do not update the closed date and user.
Transactions Enhancements
The following Transaction Type setting was updated to include Costings (CST):
- Convert Assembly (ASM) / Costing (CST) Items to Estimates
Changelog Enhancements
Changelogs were added to the following modules:
- Status (Setup): A user_id_modified field was added to make this work.
- Point of Sale: Header fields and Cash Counts.
- User Access Settings
- Users Module
Attributes Enhancements
Some of these enhancements will only be finalised in the next version, for example, the Attribute menu item in the Setup menu.
The Attribute functionality currently in Items, Assets and Contacts was reworked to be a universal feature that now extends to the following modules:
- Items (the fixed attributes are used in Estimating)
- Contacts, including Customers and Suppliers
- Assets
- Transactions
- Service Types
A Key (name) column was added to attributes (instead of a key ID) to simplify working with attributes in the Form Designer.
Setup
The Attributes Setup dialog can be opened from Main Menu > Setup or from the Menu button in modules that use attributes.
- Layout: The setup window has a list of Attribute Sets on the left and the matching Attribute Items on the right.
- A Module filter has an option for All. When you add a new Attribute Set, it gets the module selected in the filter, unless the filter is set to All.
- The System checkbox lets you view System attributes in read-only mode. Use it to see the Key values when you create a custom Action or Report.
Attribute Set fields:
- Type: Applies to System Attribute Sets only. Used for:
- Contacts: Persons, Entities
- Items: Item Types (Costing, Substrate, etc.)
Attribute Item fields:
- Keys
- Caption
- Editor
- Lookups
- Lookup SQL
- Values: Lets you set a default value.
Attributes that are converted by the Ver 1.0.89 upgrade script:
- Items: Fixed Attribute Sets used in Estimating.
- Contacts: Fixed and custom attributes for Customers, Suppliers and Staff.
- Assets: Fixed attributes for Financial, Equipment and Vehicles.
Transactions
- You can view and update attributes in a transaction from Menu > View/Edit Attributes.
Service Types
- You can view and update attributes in a service transaction from Menu > View/Edit Attributes.
Data Pipelines for Attributes
Separate fields are created for each attribute using the Attribute name.
- trans_attributes: Attributes linked to the transaction.
- trans_company_attributes: Attributes linked to the Customer/Supplier on a transaction.
- trans_project_attributes: Attributes linked to the Service transaction that is linked to the transaction.
- project_attributes: Attributes linked to the Service transaction.
- project_company_attributes: Attributes linked to the Customer/Supplier on a service transaction.
Ver 1.0.88
Enhancements
Items > Price Lists: The Setup functionality for Price Lists was added and will be expanded in the next upgrade.
- To open the setup, click Menu (button) and select Edit Price Lists.
- On the Prices tab in Items, you can add Price List prices.
- You can link Price Lists in the Customer Attribute Set and batch update them in the Customers List View > Accounting View.
Withholding Tax: The following fields in the trans_header data pipeline were updated:
- wht_amount
- Invoice: Sum of WHT Amount in the Items.
- Payment: Sum of WHT Amount in Invoice Items allocated to the payment.
- wht_amount_text: Changed to Thai (where applicable).
Transaction Types: A Warning for a Copy Rule error was added: Execution by trigger does not have a Trigger Status assigned.
Estimating Enhancements
An Estimating (Printing) attribute set was added for Items. This set is used for printing processes that use plates, and you can add it to Tasks or Costings. It contains the following items:
- Run Type: For information only. Select one of the following:
- 0 – Sheetwork
- 1 – Work & Turn
- 2 – Perfecting
- Plate Qty: Enter the number of plates to execute the Task or Costing once on a Part (e.g. printing CMYK on one side only requires four plates).
A new Qty Type was added:
- Plate Qty: Calculates the number of plates required for Services linked to a Part, using the Estimating (Printing) attribute described above. Calculation:
- Linked to a Part: Plate Qty x Part Qty
- Not linked to a Part: Plate Qty
Point of Sale (PoS) Enhancements
- A warning appears if you click the Done button and the cash does not balance.
- An Updated By column was added to the PoS Module’s List View.
Fixes
- Fixed: When a PoS Session status was moved up (past the Default = Closed), the Date/User Closed fields were cleared.
- Fixed: Changes to the PoS Settings did not update the Updated By column on the User Access Settings.
- The Status.default_id values were standardised across all modules.
- Fixed: When you clicked the Done button while the status was not an Inventory Status, an error message was returned. The error appeared even when the Done button would resolve the issue (that is, move the transaction to an Inventory Status).
- Fixed: Online Library: An error was returned when importing if you selected Categories = All.
- Fixed: Items: Several numeric columns in the costing > Routing grid view did not format numbers correctly.
- PoS Settings: The caption of the edit button was changed to Add/Edit.
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. Update the following columns in the field editor:
- Chart Category: Select a column that drives the vertical axis (e.g. Amount).
- Chart Series: Select multiple columns (e.g. Rep, Customer, Period).
If the chart settings are filled in, a Chart tab appears when you generate the report.
Dashboard: The existing Dashboard functionality was removed in favour of Custom Reports with companion charts. You can assign Custom Reports to a user’s Mobile Dashboard with the setting Dashboard (Select from Custom Reports).
Mobile App is still in development.
Transactions Enhancements
The following fields were added to the trans_customer and trans_supplier data pipelines (for WHT certificates):
- physical_address_flat
- delivery_address_flat
The following fields were added to the trans_header data pipeline (for WHT certificates from payment transactions):
- wht_amount: The sum of the WHT item totals in the transaction.
- wht_amount_text: The same amount as text.
Custom Actions (New Module)
This module adds custom functionality that complements the existing functionality. Typically, you can use it to combine 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. They work without input parameters, and you run them from the Main Menu. For example:
- 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 appears as a message to the user.
- The module the Action is linked to determines the input variables you can use in the SQL.
- You can link multiple Items to an Action, including duplicate Items (e.g. multiple error messages).
- User access is assigned explicitly to each Action.
- Actions use a fixed status list: 0 – Pending, 1 – Active, 3 – Cancelled. Only Active Actions can be executed.
How to Set Up an Action
- Go to Main Menu > Setup > Actions to open the Actions setup module.
- The setup module has a List View and an Edit View.
List View
- Shows a list of Actions.
- Data Filter: Type, Module, Status (group).
- Click New (button) and select the Type. You cannot change the type afterwards.
- Menu
- Edit User Access: Assigned with a dual list.
- Export (.sql): Exports the Insert SQL, which you can execute on another database. Use it to copy Actions across databases.
- Copy, Edit, Delete
- Menu (button)
- Save/Restore Layout
- Actions
- Import (.sql): Imports Actions from the exported .sql files.
Edit View
- Actions button
- View/Edit Note: Edit the header note.
- Export (.sql)
- Import (.sql)
- Copy and Delete
- Menu button
- Edit User Access: For the Action.
- Save/Restore Grid
- Header Fields
- No: The ID, assigned by default.
- Type: Select it when you create the Action. You cannot change it afterwards.
- 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 the type)
- Main Menu (Global only)
- Actions (Single): Executed from the Actions button in the Edit View.
- Actions (Multi-selected): Executed from the Actions button in the List View.
- Description: Used as the caption on the menu.
- Note: Use it to explain what the Action does.
- Items Fields
- Type
- Error (Message): If a Note is returned, it appears as an error message and the process stops.
- Warning (Message): If a Note is returned, it appears as a warning message. Click OK to continue or Cancel to exit the process.
- Confirm (Message): If a Note is returned, it appears as a confirmation message. Click OK to continue or Cancel to exit the process.
- Execute SQL: Does the main task for which the Action was created. If a Note is returned, it appears as an information message, for example, to confirm the result of the Action.
- Description: For information only.
- Type
- Items Menu
- View/Edit Note: The item-specific note.
- View/Edit SQL: Use the Template button to generate the boilerplate statement that exposes the required input and output parameters.
- Copy
- Delete
- Move Up
- Move Down
SQL Input Parameters
- Click the Template button in the SQL editor to generate sample SQL that shows how to use the parameters.
- A Procedures tab was added to the SQL editor. Right-click in it 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 IDs (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 IDs (e.g. 1,2,34 or 1).
- user_id: The active user_id is assigned.
- Custom Reports
- pk_ids: The primary key or keys (the first column of the report) are assigned.
- user_id: The active user_id is assigned.
How Actions Work 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 the popup menu.
- Multi-selected: Can be executed from the 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 appeared on the left instead of the Tile Menu.
- Fixed: Transactions > Batch Updates: The entity__id_selected field was not refreshed.
- Fixed: Items > Pricing: If you viewed Sell Prices, then opened another module and returned, the filter bar was filled in incorrectly.