MoneyWorks Cashbook Changelog

What's new in MoneyWorks Cashbook 9.1.7

Apr 4, 2024
  • Performance and reliability enhancements, and new features:
  • Emailed PDF forms can have a specified attachment name (see Form Options in the forms designer. An attachment name can be specified as e.g. <<Name>> Invoice <<OurRef>> for <<NameCode>> to get Acme Widgets Invoice 45033 for SPRING.pdf
  • Configuration options for the Dashboard Income & Expense pie charts. You can now break down by additional category options. We have additional new data visualisation facilities in the works…
  • Better truncation of over-length fields when generating PDFs on Windows with libHaru
  • Save as PDF file using Microsoft Print to PDF now suggests a file name
  • Support future MWNow SHA-256 TLS CA root
  • Database performance improvements
  • Diagnostic ledger integrity performance improvement (up to 60x faster in some cases)
  • Diagnostic Stop button now more responsive during ledger integrity phase
  • Entering a date as DDMM is now smarter about autocompleting the year when you are working in a prior year (assume the year of the latest open period rather than the real time current calendar year)
  • Fixed issue with keyboard shortcut assignment in 9.1.6 that reassigned and broke the keyboard shortcut for the Name code checkbox in payment/receipt entry
  • Fixed ctrl-alt-key shortcuts for buttons in modal windows on Windows
  • The frontmost transaction list window (when there is more than one) is now always the window from which the current selection for reports is taken
  • Updated calendar dates
  • Batch Debtor Receipts fixed for head office receipts (broken in 9.1.6)
  • Account Enquiry include unposted now works for account ranges when running on a server
  • Statement form message is no longer truncated when the statement is rendered on the server
  • Load Old Bank Statement now disables the “Start Over” button
  • 64-bit crash reporter now uses static runtime lib (Windows)
  • Improved session recovery resilience
  • Software updates can now use build number as well as version
  • Fixed some truncated text on Navigator on Windows
  • Improved sanity checking when updating product codes
  • Name and product code fields can be activated to copy them even when they are read-only
  • Find Related Components for Product now goes to the All view (since components might not be inventoried)
  • Bank funds transfers and other special transactions can no longer be made recurring (doing so would result in currency error or other problems)
  • Save a Clone now clears GST reprint cycles in the clone
  • Fix faulty start date for online GST filing
  • Age by Due date report performance improvement
  • Prevent merging accounts with different security levels
  • Fixed failure sorting by order number in payment on invoice entry
  • Fixed a bug in the database engine that could—in very rare circumstances—corrupt database indexes when purging (this bug had survived for 34 years)
  • Fixed a bug in purging when there are very many unpurged/unclosed periods
  • Find Related landing in the Detail Lines list is now much faster. It delays sorting the list until the found records are selected
  • Reversed Tax codes now allow an alt code for foreign jurisdictions
  • Entering a new transaction from the bank reconciliation now sets the preferred bank account for both receipt and payment to the bank being reconciled, so that it remains the same if you change the transaction type
  • Require on-hold payables/receivables to be taken off hold before cancellation
  • JobSheet.CostCentre is mutable via Replace
  • Server:
  • Fixed missing folder icon in Console
  • Time limit on verbose logging
  • Removed spurious log message when backing up
  • Scripting:
  • Command to open a new standalone script document window (Shift-opt-⌘-N / Ctrl-Shift-Alt-N)
  • Ask function now supports a “title” control type to set the window title
  • ConcatAllWith function — this is the same as ConcatWith except it does not omit blank items in the input. Use this for tabulating fields into a string
  • CreateListWindow: implemented property initialisation
  • Record editing windows instantiated from a custom list window now get a property named __parent_list which is the window handle of the list window
  • TaggedText fields now support using _ ; : characters in the stored data. Previously these were reserved delimiters. The following sequences in tagged text data will not survive a round trip since these are the byte-stuffed versions of the tagged text delimiters: ._ :_ ;_
  • InstallMenuCommand can now add up to 30 commands to the menu (previous limit was 20). Attempting to add more will now log an error and return 0 from the InstallMenuCommand function
  • DoReport can now access a built-in report named “~textreport.crep” to output plain text in columns
  • Support for html pages as Navigator panels. See Web views in the MoneyWorks Navigator
  • Fixed some problems with web view observers and javascript injection
  • Copying a script as styled HTML now entity-encodes angle brackets and ampersands
  • PreviewXMLtoPDF(xmlpath) function converts a preview xml file (“xml” format from DoReport or DoForm) to a PDF, returning the path to the pdf file create in the temp directory
  • REST doform now returns an HTTP 422 if your search expression finds no records to render. You should always check the HTTP status code and the returned MIME type, because if you ask for a pdf but supply bad parameters, you will get text/plain with an error message
  • In custom windows instantiated by a script, GetListHandle will no longer return the current (default) list in custom forms if the listName identifier is not found (it is assumed that you must have a typo in the identifier). MoneyWorks standard windows still behave the same
  • UpdateOrderLines an invoice sequence number parameter of -2 will now force complete the order
  • Find function will ignore the Run On Server parameter if latency is low
  • The Date function now has defined behaviour for for out-of-range month values (the supplied year value will be adjusted by one for each 12 months out of range the month is)
  • Accessing a window handle from its Close handler is no longer crashy
  • There is a publicly exposed function to get calendar entries from the MoneyWorks calendar: Cal:GetEntries(date, calendar_name)
  • There are new global variables for UserIsReadOnly and BuildNumber
  • The server will now be slightly more relaxed about accepting connections from CLI clients that are slightly out of date
  • Javascript alert() is now supported by the web view on Mac
  • Added support for custom/user fields 5-8 to the FieldLabel function

New in MoneyWorks Cashbook 9.1.6r5 (Feb 1, 2024)

  • Cashbook and Express SMTP fix

New in MoneyWorks Cashbook 9.1.6r4 (Jan 5, 2024)

  • 9.1.6r4: Fix inability to link new bank accounts in Yodlee on Windows
  • 9.1.6r4: Prevent tabs from being pasted into fields on Mac
  • 9.1.6r4: Prevent potential document preferences corruption due to updating software before restoring from session file

New in MoneyWorks Cashbook 9.1.6r1 (Dec 6, 2023)

  • Client:
  • Fixed crash in autocomplete if a line item is deleted when an autocomplete window is open
  • Fix timeout error sending SMTP mail via Office365 on Windows (apparently caused by CURLSSLOPT_AUTO_CLIENT_CERT mode which is now removed)
  • Fix crash clicking SMTP Test button on Windows when PDF via MS Print to PDF option is enabled
  • Additional transaction list windows may now be opened in MoneyWorks Gold using Shift-⌘-T (Mac) or Ctrl-Alt-T (Windows). Likewise for the Detail Line Items list window (Shift-option-⌘-T / Ctrl-Shift-Alt-T)
  • The invoice payment entry list now also displays the other party’s reference number (TheirRef) for the invoice
  • Administrator may temporarily override period locking to post adjustments into locked periods
  • Native support for dragging an image attachment from Windows Outlook into a MoneyWorks transaction
  • The date for the build journal can now be specified in the Build Product command
  • Windows MAPI mail now supports unicode recipient addresses and addresses containing punctuation
  • Fix macOS Sonoma startup crash when numeric format has a non-breaking space for thousands separator
  • Bank transactions imported from Yodlee now import oldest first instead of oldest last for better invoice payment matching
  • Profit Actuals for Rolling 12 Months report: Added EBITDA option
  • Order processing alert for unused deposit for a non-credit customer no longer keeps the database locked while the alert is up
  • Stock value correction journal for invoice-after-goods with changed prices now includes OriginatingOrderSeq
  • End of the Month (EOM) option for the Debtor/Creditor Terms now supported for more than one month in the future: use 131st, 231st, 331st for end of second, third, fourth month after invoice date
  • Switching to an order’s Backordered tab now always scrolls to the top
  • Entering a receipt for a debtor with no outstanding invoices now defaults to Payment on Invoice again (on the assumption that you want to enter an overpayment/prepayment)
  • Better Analysis report editor scaling in Magoo mode
  • Details list view was missing the new Customise list view toolbar icon
  • Fixed problem with IRD Connect on Cashbook and Express
  • New preference option on Windows 10/11 to use Microsoft Print to PDF driver to generate PDFs instead of libHaru. This has the advantage of having full Unicode support instead of just the ANSI codepage, so it supports non-latin scripts. (You do, however, lose the ability to embed http links in the PDF)
  • All clients (including Mac) will do their own PDF generation when connected to a Windows server and running reports or statements on the server
  • Statements generated on the server should now get a more useful attachment name for the PDF generated
  • Fixed incorrect text alignment and line breaking on Windows with some unicode character ranges (including Asian languages)
  • Enter Serial dialog box makes more sense
  • Profit Budget for Next Year: Show as COGS and EBITDA
  • Updated Notepad2 build; 64-bit on 64-bit installs
  • The Name type checkboxes for inactive debtor/creditor may now be turned off without requiring single-user mode (balance must be zero with no outstanding invoices); Cancelling a payment for a deactivated account will reactivate it
  • Prevent duplicate validation items
  • Clear line item location when product code is changed to an inventoried product
  • OpenSSL updated to 3.1.x
  • libcurl and zlib on Windows updated to latest releases (Mac uses OS-provided versions of these libraries)
  • Warning when MoneyWorks Now primary login gateway could not be reached
  • Password fields no longer try to evaluate an expression if the password happens to start with =
  • Prevent changing MoneyWorks Now password to blank
  • Fixed incorrect message regarding crediting of unused deposit on order
  • CSV bank statement importer now tolerates currency symbols in the data
  • Network connectivity tester under support info
  • Expired subscription will no longer force read-only mode when logging into a server
  • Server:
  • REST requests will now cause auto-opening of a new period—the same as a regular login in a new month—if the REST client has write access to the database. This should resolve the issue of high REST activity preventing a new period from being auto-opened on the first of a month
  • Mac Datacentre will now set the owner of backup files to the owner of the folder they are moved to. This will prevent e.g. iCloud from ignoring them
  • Reports and forms generated on the server now use the default currency symbol and date order from the client
  • Fixed midnight restart port bind failure when under REST load
  • Additional REST worker process logging
  • moneyworks_datacentre.log rotation is now rate-limited
  • Added missing IP blocklist file on Windows
  • Rationalised configuration files: There is now only one .conf file for the main server configuration. Please note that this change means that you cannot downgrade the server version
  • Fixed Console start/stop not working on High Sierra
  • Scripting:
  • ParseCSV function to convert a CSV line to tab-delimited (which you can use with Slice
  • The CLI now supports cur_sym and cur_end parameters to commands to override the locale currency symbol and position when formatting numbers as currency quantities
  • There are new transaction flags to indicate fTrans_WasImported and fTrans_WasRecurring
  • SetPersistent no longer throws a runtime error if the record being updated is locked by another user. Instead it will first retry after a 200ms delay, and if it still fails it returns 0 to indicate failure (1 for success). Scripts should check the result of SetPersistent, but also see the next change…
  • SetPersistent as a special case, when setting User.Data, the return value of SetPersistent is the previous value of User.Data. This allows SetPersistent to be used as an atomic Test-and-Set
  • Executing a .mwscript file with the -Z option now forces non-localised numeric formatting
  • Export("xmlschema") now indicates field mutability
  • Memo table is mutable by ReplaceField
  • Mac CLI now logs to moneyworks_cli.log instead of MoneyWorks_Gold.log
  • Saving a .mwscript from standalone script editor now truncates the file if it is shorter
  • Import now works the same importing clientside/serverside when the full path to an import map is not provided (previously serverside only worked with a full path)
  • Fixed file error when a script sends multiple smtp emails with attachments with the same name
  • Allowed("Write Access") will now return false if the user is logged in read-only for any reason

New in MoneyWorks Cashbook 9.1.5 (Sep 11, 2023)

  • Client:
  • Set sidebar colour in Document Preferences to help visually differentiate different companies
  • Auto-balance general journals. Just click the debit or credit footer total to automatically add a balancing line to the journal
  • Optionally record debtor overpayments as a debit/credit note pair for cases where GST/VAT needs to be recorded for overpayments
  • Adding a debtor or creditor code to an existing unposted receipt or payment now offers the option of converting it to a payment on invoice
  • Libraries of list views: You can now store multiple customised list views and recall them from the list toolbar
  • Product BOM now also shows replacement cost of parts, because inflation
  • Copy/Paste list view is now in the Customise List View window
  • Due date calculation: for day of month following terms: If the day of month is greater that the number of days in the month following, then the calculated due date will now be no more than the number of days in the month. Therefore you can now use 31st of month following as effectively end of following month. Prior to this, 31st of month following would be 1st of subsequent month if the following month only had 30 days
  • Date picker no longer pops up in a newly instantiated window just because a date field happens to have initial focus
  • Check new user initials are not duplicate of existing user
  • Save a Copy now requires Save and Backup privileges
  • Security hardening of the reference number service
  • Support for future Apple changes to Apple Silicon runtime model and API changes
  • Notepad2 log reader is now signed (Windows)
  • Restored missing Asset Register submenu on Windows
  • Calculated columns now have the currency field always available to a format expression
  • Auto-build from a Sales Order now uses the invoice date, not the order date for the build
  • Asset register: fixed a case of wrong Depreciation calculation on DV method
  • Trial Balance report control issue
  • The default stock journal filter (for new documents) now includes stocktake journals. You can update an existing filter by adding or OurRef=`JT@` to the search
  • Price List report now uses the new names for Product.BuyTaxCodeOverride/SellTaxCodeOverride introduced in 9.1.4r2
  • VAT Guide SA: Was using invalid taxrate.taxpaid field
  • Reorder Products now pre-excludes processed orders, improving performance when there are many processed orders
  • Server:
  • Finalise GST with cash sales on invoice basis is now much faster over a network
  • Loading and saving bank reconciliations is faster
  • Non-default Archive location now works properly on Mac servers
  • Backup hourly throttle now works properly
  • Rebooting a Mac server should no longer give spurious alerts about disk space and backup locations
  • More informative error message when a database fails to open
  • Fixed REST import error message formatting
  • Serverside image recompression is now asynchronous
  • Increased default socket timeout
  • HTTP requests to HTTPS endpoint now only have one log entry instead of two
  • HTTP(S) servers now impose a 15 second Keep-Alive timeout rather than waiting forever for clients that never close the connection
  • Network error recovery is now on by default
  • Reconnection allowance for clients that get a network error now only made for actual logins, not internet noise
  • Reconnection allowance for clients that get a network error no longer made during server shutdown
  • Windows logs now get a new creation time when they are created (work around MS filesystem tunnelling)
  • Ability to limit log rotation rate (manual setting in conf file)
  • Multiple stale connections are now cleaned up faster
  • Scripting:
  • ChangePrimaryKeyCode function. Currently implements the ability to change tax codes
  • REST/CLI doform search parameter was failing for multi-field searches since 9.1.1
  • ReadCurrentRecordForWindow now clears tag pseudofields when stepping through a selection
  • Electing to edit a script when a runtime error occurs will now only disable the script if you hold down the Control key
  • Find All in script editor navigation to found text now works on 64-bit Windows

New in MoneyWorks Cashbook 9.1.4r2 (Jun 28, 2023)

  • Client:
  • Tax code overrides by product, for buying and selling
  • Privileges Summary report (in Audit) shows the privileges for users/roles
  • Tax code override for Name no longer permits * tax code
  • Alpha-numeric reference numbers with 2 or fewer numeric digits will not auto-increment (on the grounds the digits are probably a batch date)
  • Window menu now differentiates preview windows with a different icon. Also on Windows, the window menu has icons for windows.
  • Removed obsolete file types from the File Open dialog types list
  • Bank accounts now support Account.SecurityLevel
  • Bank reconciliation no longer demands that you print the reconciliation. If you need an old reconciliation, you can retrieve it with Load Old
  • Drilling down like a maniac will no longer get you a modal depth overflow crash
  • Fixed opening of external links in Mac web views when using WKWebView
  • Edit Saved Subjects in the mail dialog — fixed a number of problems
  • Unreconciled but “saved on bank rec” transactions now display as unreconciled in the Get Info window
  • Housekeeping panel network location no longer has a file path reveal click action
  • Tax by Currency report: Fixed end date when run by period
  • Apply privilege control (See Bank Balances) to Statement of Cashflows reports
  • Renamed the Process Orders privileges for sales and purchasing to be unique. This may affect reports or scripts that required those privileges
  • The Find command in the Filter menu no longer circumvents the selected filter
  • Fixed new record creation when you have Create but not Modify privilege
  • Importing Names with update; removed ability to accidentally change currency or control accounts
  • Separated print settings for different lists
  • Key repeat now refresh screen on Windows with compositing
  • Find Related accounts now offers a choice of target views
  • Support Ticket command in Help menu
  • Additional failure checks in Mac Address Book importing (evidently could crash if there was no Me contact)
  • Changing a pending jobsheet entry’s resource to an inventoried product now generates a requisition
  • Selecting a serialised product in Jobsheet entry now sets the location field from the serial chooser
  • Jobsheet entry now allows zero-cost negative quantity
  • Jobsheet entry now allows reversals of serial number requisitions
  • Backup will no longer attempt to compress (already-compressed) image files in the Pictures folder. This may result in backup files being slightly larger when the image files are poorly compressed to begin with, but backups involving many image files should be 2-4x faster
  • Backup progress bar no longer flakes out for backups over 4GB
  • Backup initial size calculation is faster
  • Fixed clipped output when PDF text on Windows needs to break a line within a word due to lack of white space
  • Stock Location validation list can no longer be mucked up by deleting or renaming location codes
  • Stock Locations may no longer be created with a leading or trailing space
  • Fix crash in Advanced Replace for files that have no replaceable fields
  • 9.1.4r2 fixes an issue that allowed invalid tax codes to be deliberately or accidentally imported into the new product tax code override fields, and the resulting serious problems that could cause
  • 9.1.4r2 Fixed formatting of text copied from About and Diagnostic windows
  • 9.1.4r2 Transaction emailed column in custom list view now shows icon as expected on Windows
  • Server:
  • Much improved network error recovery
  • Datacentre std web-apps now support MoneyWorks Now credentials on MoneyWorks Now servers
  • Logging of non-authenticated web traffic no longer shows the user as root
  • Folder logins no longer logged when folder login is not enabled
  • Reverted to pre-9.1.3 network compression settings
  • Removed verbose logging option
  • serverside import truncated error message when database is busy
  • Send to Support now only sends 7 days of logs
  • Removed settings for obsolete SSL protocols
  • Longer wait for http threads to finish
  • Retry restart if port bind fails
  • Scripting:
  • .mwscript files can be opened, edited, and run from a standalone Script Editor window without importing the script into a .moneyworks document
  • Opening .mwxml files now gives the option of importing the scripts into a document as before, or opening the scripts in a standalone script editor. Changes made can be saved back into the .mwxml file
  • Opening or importing a .mwxml file will confirm whether you want to activate each “enabled” script in the file or load them deactivated
  • ModalJobsheetEntryWindow function
  • Script Editor “Run Once” toolbar command: Calls the Load and Unload handlers and leaves the script inactive
  • Script Editor Save Selected Script As .mwscript option
  • MWScript functions that require a document to be open will now throw a runtime error if called with no document open
  • DoForm function better supports a full path to the form document
  • Improved behaviour of InstallMenuCommand function when menu commands are repeatedly installed and uninstalled by unloading the script
  • Custom list windows will no longer allow deletion of Detail records
  • GetPlugins now searches to 3 levels of the folder hierarchy
  • Auto-cleanup of unreleased object handles is now done after the Unload handler is called. You should, however be releasing curl and file handles etc as soon as you are finished with them (especially curl handles since they can hold http sockets open until released)
  • DoForm + Mail no longer leaves a default subject in the mailing dialog box
  • REST import failure when document is in single-user mode now gives a 503 Try Later HTTP response instead of 500
  • Job.Markup is mutable via ReplaceField
  • The TextToNum function now takes an optional parameter to indicate that the text is hexadecimal and should be parsed as a 16- or 32-bit big-endian or little-endian word
  • Runtime errors will now disable the script if you choose Edit in the error alert
  • A misbehaving script that continually posts alerts (via the Alert function or by causing a built-in alert to be posted) can now be disabled by holding down the Control key when dismissing the alert (assuming you are logged in with scripting privileges)
  • Added a handy std report “~serverside_analyse.crep” that can be used by a script to run Analyse on the server with up to 20 columns of output
  • GetListName function now works in 64-bit version on Windows
  • GetListContents now has a mode that returns highlighted records as a selection rather than as tab-delimited text
  • Script Editor: Clicking an entry on the Find All result list no longer disables the script
  • DoReport function and REST command now applies date type to date custom control parameters
  • Ask function now allows static text controls to be up to 63 characters
  • Custom Scintilla text object (SBA2) no longer shows line number margin
  • Relational search now supports targeting ledger.concat and ledger.code
  • Resuming application from background should now restore focus to the application’s frontmost window so that Dawdle handlers resume
  • DoReport now supports from and to period numbers passed as members of an array (previously only worked when passed in the original "to=nn" format)
  • Wildcard @ may be used in Allowed
  • 9.1.4r2 Script windows will now always open on a visible screen
  • 9.1.4r2 Script windows positions now persist properly again

New in MoneyWorks Cashbook 9.1.4r1 (Jun 18, 2023)

  • Client:
  • Tax code overrides by product, for buying and selling
  • Privileges Summary report (in Audit) shows the privileges for users/roles
  • Tax code override for Name no longer permits * tax code
  • Alpha-numeric reference numbers with 2 or fewer numeric digits will not auto-increment (on the grounds the digits are probably a batch date)
  • Window menu now differentiates preview windows with a different icon. Also on Windows, the window menu has icons for windows.
  • Removed obsolete file types from the File Open dialog types list
  • Bank accounts now support Account.SecurityLevel
  • Bank reconciliation no longer demands that you print the reconciliation. If you need an old reconciliation, you can retrieve it with Load Old
  • Drilling down like a maniac will no longer get you a modal depth overflow crash
  • Fixed opening of external links in Mac web views when using WKWebView
  • Edit Saved Subjects in the mail dialog — fixed a number of problems
  • Unreconciled but “saved on bank rec” transactions now display as unreconciled in the Get Info window
  • Housekeeping panel network location no longer has a file path reveal click action
  • Tax by Currency report: Fixed end date when run by period
  • Apply privilege control (See Bank Balances) to Statement of Cashflows reports
  • Renamed the Process Orders privileges for sales and purchasing to be unique. This may affect reports or scripts that required those privileges
  • The Find command in the Filter menu no longer circumvents the selected filter
  • Fixed new record creation when you have Create but not Modify privilege
  • Importing Names with update; removed ability to accidentally change currency or control accounts
  • Separated print settings for different lists
  • Key repeat now refresh screen on Windows with compositing
  • Find Related accounts now offers a choice of target views
  • Support Ticket command in Help menu
  • Additional failure checks in Mac Address Book importing (evidently could crash if there was no Me contact)
  • Changing a pending jobsheet entry’s resource to an inventoried product now generates a requisition
  • Selecting a serialised product in Jobsheet entry now sets the location field from the serial chooser
  • Jobsheet entry now allows zero-cost negative quantity
  • Jobsheet entry now allows reversals of serial number requisitions
  • Backup will no longer attempt to compress (already-compressed) image files in the Pictures folder. This may result in backup files being slightly larger when the image files are poorly compressed to begin with, but backups involving many image files should be 2-4x faster
  • Backup progress bar no longer flakes out for backups over 4GB
  • Backup initial size calculation is faster
  • Fixed clipped output when PDF text on Windows needs to break a line within a word due to lack of white space
  • Stock Location validation list can no longer be mucked up by deleting or renaming location codes
  • Stock Locations may no longer be created with a leading or trailing space
  • Fix crash in Advanced Replace for files that have no replaceable fields
  • Server:
  • Much improved network error recovery
  • Datacentre std web-apps now support MoneyWorks Now credentials on MoneyWorks Now servers
  • Logging of non-authenticated web traffic no longer shows the user as root
  • Folder logins no longer logged when folder login is not enabled
  • Reverted to pre-9.1.3 network compression settings
  • Removed verbose logging option
  • Serverside import truncated error message when database is busy
  • Send to Support now only sends 7 days of logs
  • Removed settings for obsolete SSL protocols
  • Longer wait for http threads to finish
  • Retry restart if port bind fails
  • Scripting:
  • Mwscript files can be opened, edited, and run from a standalone Script Editor window without importing the script into a .moneyworks document
  • Opening .mwxml files now gives the option of importing the scripts into a document as before, or opening the scripts in a standalone script editor. Changes made can be saved back into the .mwxml file
  • Opening or importing a .mwxml file will confirm whether you want to activate each “enabled” script in the file or load them deactivated
  • ModalJobsheetEntryWindow function
  • Script Editor “Run Once” toolbar command: Calls the Load and Unload handlers and leaves the script inactive
  • Script Editor Save Selected Script As .mwscript option
  • MWScript functions that require a document to be open will now throw a runtime error if called with no document open
  • DoForm function better supports a full path to the form document
  • Improved behaviour of InstallMenuCommand function when menu commands are repeatedly installed and uninstalled by unloading the script
  • Custom list windows will no longer allow deletion of Detail records
  • GetPlugins now searches to 3 levels of the folder hierarchy
  • Auto-cleanup of unreleased object handles is now done after the Unload handler is called. You should, however be releasing curl and file handles etc as soon as you are finished with them (especially curl handles since they can hold http sockets open until released)
  • DoForm + Mail no longer leaves a default subject in the mailing dialog box
  • REST import failure when document is in single-user mode now gives a 503 Try Later HTTP response instead of 500
  • Job.Markup is mutable via ReplaceField
  • The TextToNum function now takes an optional parameter to indicate that the text is hexadecimal and should be parsed as a 16- or 32-bit big-endian or little-endian word
  • Runtime errors will now disable the script if you choose Edit in the error alert
  • A misbehaving script that continually posts alerts (via the Alert function or by causing a built-in alert to be posted) can now be disabled by holding down the Control key when dismissing the alert (assuming you are logged in with scripting privileges)
  • Added a handy std report “~serverside_analyse.crep” that can be used by a script to run Analyse on the server with up to 20 columns of output
  • GetListName function now works in 64-bit version on Windows
  • GetListContents now has a mode that returns highlighted records as a selection rather than as tab-delimited text
  • Script Editor: Clicking an entry on the Find All result list no longer disables the script
  • DoReport function and REST command now applies date type to date custom control parameters
  • Ask function now allows static text controls to be up to 63 characters
  • Custom Scintilla text object (SBA2) no longer shows line number margin
  • Relational search now supports targeting ledger.concat and ledger.code
  • Resuming application from background should now restore focus to the application’s frontmost window so that Dawdle handlers resume
  • DoReport now supports from and to period numbers passed as members of an array (previously only worked when passed in the original "to=nn" format)
  • Wildcard @ may be used in Allowed

New in MoneyWorks Cashbook 9.1.3 (Mar 9, 2023)

  • Client:
  • Support for new NZ IRD login requirements
  • Processing and printing a selection of sales orders now prints all of the resulting invoices, rather than just the first one
  • When connected to a server, detect when power is removed from a Windows laptop after the lid is closed and gracefully disconnect before WiFi access is lost (thus preventing a disconnection error and diagnostic dump when the laptop wakes up). If ethernet is pulled as well as power, quietly quit without trying to gracefully disconnect.
  • Stability improvement to autocomplete when there are problems with the autocomplete data
  • Duplicate Help menu items in App menu on Mac now enabled for Cashbook/Express
  • Fixed a hard failure (trans_mismatch) importing bad XML data with the post option enabled
  • Document and Custom Plugins paths are now shown in posix format in the Mac Navigator
  • Click to reveal document or plugins folder in Navigator now works if the path contains a ~ (such as iCloud folder path)
  • Fix VBA access to DoReport, ImportText and ImportFile, which a recent Office update on Windows appears to have broken
  • Reference number increment now works with and preserves a fixed non-numeric suffix on the reference number
  • Diagnostic UTF-8 reconvert no longer complains about longer tax codes
  • Fixed entity-encoding of quotes and apostrophes when exporting to XML
  • Job codes > 7 chars now increment properly
  • Fixed errors due to lack of a temp directory on a misconfigured RDP server
  • Updating a Job via import no longer requires that the client code be supplied in the import
  • Server:
  • Updated the Timer web app to use IndexedDB instead of WebSQL
  • Improve server stability in the face of unexpected OS/network errors receiving SSL traffic
  • Restarting the service while transmitting data to REST clients will now wait for the data transmission to complete (up to 20 seconds) before actually restarting
  • Server disk space warning is no longer dependent on midnight restart being enabled (but still happens once a day at midnight)
  • Verbose logging being left on now generates a server alert email overnight. Don’t leave verbose logging on. Never turn it on unless Cognito support asks you to
  • The server will no longer fall back to a free TCP port if the main configured service ports are not available at startup (specifically the login, update, and REST ports — usually 6699, 6700 and 6710 respectively), since these ports are often the destination of port forwarding. Additionally, the server will retry the ports at startup if they are unexpectedly busy due to the OS not releasing them in a timely manner after a service restart (this seems to be an issue with macOS servers)
  • Include REST request time and folder username in standard log entry for metering REST load per folder
  • HTTP server now respects the Connection: close header to proactively close the connection rather than needing the client to close it
  • Main log file now cleans CRs out of the config file dump on Mac for easier parsing
  • Fixed a potential failure to deliver custom plugins from the server (when the adler32 checksum of the folder happens to be zero — a 1 in 4294967296 chance)
  • Fixed XML Payment-on-Invoice importing when server locale number format decimal point character is not “.”
  • Scripting:
  • Find All in Script Editor
  • The default location for files created by scripts is now a folder named Automation Files in the MoneyWorks Appdata/Application Support folder, instead of Desktop/MoneyWorks Automation. If the latter already exists, then it will continue to be used. It will still be the case that the first folder listed in the Safe Paths preference will be used for such files, but it will now only be used if it is valid (i.e. exists). The list of safe paths will be searched to find the first valid/extant folder. If there are no valid safe paths in the preferences, then Automation Files in the app support folder will be used, thus removing the issue of script output file creation failing due to misconfigured preferences
  • The Help → Support Info submenu now has a command to show the Automation Files folder. This will show whichever folder will be used by scripts for creating files specified by name only (no path or metapath)
  • Improve behaviour of Navigator function revl instruction
  • Script runtime exceptions now log script name as well as line number
  • InsertListObject/SetListContents now scrolls the list back to the top if the new content is shorter than the current scroll position
  • Fixed a crash in the order processing dialog when scripting invisible controls that should not be scripted
  • Fixed redraw when changing Z-order of popup-menus in UI editor
  • Support case-insensitive regex with prefix (?i)

New in MoneyWorks Cashbook 9.1.1 (Dec 13, 2022)

  • General:
  • Purchase Orders: Receive Prepayment Invoice for Goods – no longer spuriously requires serial numbers for serialised items
  • Added Dispose icon to Assets toolbar
  • Singapore GST changes: Support for reversed GST, and new default rate table for new documents. Note that for existing documents, you will need to update your rates in your tax table.
  • Fixed selection leak from report editor syntax checking and some user-specified searches
  • Processing a foreign currency PO to a pre-payment invoice now allows the exchange rate to be set on the prepayment invoice
  • Startup check that system date format is parseable (macOS cannot parse its own date format if you use ISO calendar with 2-digit year (2 digit year is not permitted in ISO date format standard))
  • The per-user Reply-To override option for SMTP now works again (it disappeared in the changeover from the external sendemail tool that v8 used)
  • Added batch expiry date column to Detailed Stock List report
  • Fixed problem with Bank Feed importing when multiple Load Bank Statement windows are open
  • Fixed cosmetic issues with Preview drill-down highlighting on Windows
  • Fixed display of current page number in Preview on Mac
  • Report editor cells: Renamed “Product Image” cell type to “Image”. You now load transaction and asset images using the Image cell type. Added tips to the Cell Display setting.
  • Fixed issue with product build where BOM contains batch-tracked items with small fractional quantities
  • Note: Documents opened with 9.1.1 will no longer be accessible using earlier versions of MoneyWorks 9 (but why would you want to?)
  • SMTP emailing: missing recipient address is now reported as such instead of “Failed sending data to the peer”
  • Server:
  • Critical server alerts: The server will now email the server administrator (as configured in the Console), if a critical error such as a backup failure occurs, or if the server is running low on disk space. Disk space warnings are sent at midnight(ish) when the service restarts
  • The Logging and Backup controls have been moved to their own tabs in the Console
  • Reinstated auto-install/auto-update of MoneyWorks Gold on Mac servers, because it is actually required for correct operation of the CLI
  • New option to reduce frequency of Pictures backups to once a week (since they can greatly increase the size of backup files)
  • Improved backup logging
  • Show file and Show log now work when the document root is just a drive letter (Windows)
  • Account changes now record the Who field in the log table
  • Statements for a selection including branches no longer omit the branches when rendered on the server
  • Fixed a couple of (rare) server crashes after database shutdown (including disconnected client reconnect attempt during shutdown)
  • Fixed issues with Console warning icons
  • Fixed problems with REST worker throttling after failures
  • Improved REST parameter sanitising
  • Scripting:
  • Fixed incorrect result for IntersectSelection on a sorted selection with a single-term non-indexed-field search expression
  • Scripting Privilege no longer required to receive commands from appleevent/COM
  • UpdateOrderLines (orderSeq, prod_qty_array [, linktoInvSeq]) – can now get the linked invoice behaviour with no linked invoice by passing -1 for the invoice sequence number
  • Fixed landscape PDF form rendering via CLI/REST
  • Fixed issue with DoForm() with blank format
  • Specific handler names for the transaction list now use XX as the type specifier when the type is ambiguous (it used to be ?? which was not valid in a handler name so you could not use it)
  • GetTaxRate function can optionally return the reversed rate
  • The Mail() function now behaves better with Outlook on Windows if the message parameter contains newlines
  • Clicks() function now resets when a window opens or closes
  • GetWindowByID() function now favours the topmost match if there are multiple instances of the window that match the ID
  • The search expression passed to the DoForm() function may now reference the caller’s in-scope variables
  • The DoForm() function now allows preview output of INVC forms to be pre-addressed for emailing by passing a contactRole parameter (either a numeric bitmask indicating which contact role(s) to add to the mailto) (this previously only supported STMT forms). Additionally, you can use a textual role name instead of a numeric bitmask for the contactRole parameter.
  • Script editor sidebar action menu available via right click in the sidebar
  • Script editor: Delete script can be used with multi-row selection
  • Two extra scriptable buttons (B_BUTTON2 and B_BUTTON3) on the Build window

New in MoneyWorks Cashbook 9.1 (Sep 21, 2022)

  • Date Picker. By popular request, date fields now feature a pop-up calendar date picker. This allows dates to be typed normally (and the calendar will reflect what you type), or you can click a date to enter it into the field. Note: You can enable or disable the date picker in the MoneyWorks Preferences → General tab.
  • On Windows, there is now an option in the Window menu to “Always open windows on main screen”, which is on by default. If you want modal and floating window positions on different monitors to be remembered, you will need to turn this option off
  • Tax numbers for different locales can now be specified in the setup part of the respective Guide form
  • VAT Guide UK: Fixed to correctly include EU/Northern Ireland Purchases
  • Tax by Currency report now checks for missing tax numbers
  • Build Product now supports BOMs that use serial- or batch-tracked parts and/or create serial- or batch-tracked built products. The BOM is expanded to allow all serial numbers to be specified prior to creating the build journal
  • Serial-tracked parts can’t be added to a BOM for an auto-built product. Turn off auto-build to add serial-tracked parts
  • Tax by Currency report now handles overpayment refunds
  • Customer payment method is now available for non-Debtors
  • MacOS Ventura compatibility for speech output
  • Account list was incorrectly showing the tax code column when initially displayed for documents where GST/VAT processing was turned off
  • Entering a date as only m/d when the system date format is middle-endian-with-alpha-month-names now works as (presumably) expected
  • Fixed a problem with drag & drop recognising .qbo files on Mac
  • Fixed a rounding issue with 50/50 split rules in bank statement import
  • Changing the Name code on a cash transaction imported from a bank statement will preserve the gross value of the transaction if the tax code changes as a result
  • Fixed multi-user concurrency issue with modifying the same filter rule simultaneously
  • Fixed high CPU usage in background when a coachtip or tooltip is scheduled to appear
  • Fixed memory leak when traversing APFS folders
  • Removed some spurious diagnostic log messages
  • Asset Report: Highlighted Only option now works correctly
  • Asset Register Report: Show correct bookvalue for asset purchased on last day of period
  • Asset Register Report: Fix acquisition quantity
  • Bank Balance report: Reinstated grand total
  • Added diagnostic mode to the SMTP preferences. Hold down the shift key when clicking Test to get a full log of the SMTP test session
  • Fixed address book import and email autocomplete on macOS versions later than High Sierra
  • Fixed SMTP emailing to multiple addresses for a role
  • Fixed incorrect cursor for certain drag operations
  • Fixed pinch zoom direction in Preview (Windows)
  • Enabled pinch zoom in Forms Designer
  • The Exclude Zero Qty Lines option in Product History no longer erroneously applies to Pending view
  • Fixed update issues in Analysis editor
  • Timesheet Location field is now reliably validated
  • Detailed Stock Report: Add Highlighted Only option
  • In future, Software Update on Mac will quit other instances of MoneyWorks for you. This is to prevent mysterious file system errors that can be experienced by a process whose executable has been replaced with a new version
  • Trial Balance Report: Option to show closing balances only
  • Stock History Report: Currency conversion issue with negative creditor invoices
  • Add Path button in the Scripting Preferences to select a folder to add
  • Fixed incorrect Accounts List toolbar when GST processing is turned off in document
  • Fix to Cash Projection report
  • Updated calendar holidays
  • Asset Register: Allow revaluation of Non Disposable Assets
  • Server:
  • Addressed restart/recovery race condition on server
  • Ventura compatibility: Updating Datacentre on macOS Ventura and later launches the GUI installer app to complete the update install
  • Mac Datacentre Console no longer auto-installs/updates MoneyWorks Gold on the server. If Gold is installed on the server, just connect to the server to update it
  • Datacentre Console now gathers Mac crash logs when necessary
  • Fixed Datacentre installation failure on virgin Monterey OS (not upgraded from previous OS version)
  • Fixed potential server deadlock after certain SSL connection failures
  • Other stability fixes
  • Remove excessive logging for syntax errors in users’ custom column expressions
  • Updated paths for jpegoptim and ghostscript for serverside image recompression
  • Scripting and Automation:
  • Adopt WKWebView for embedded web views on Mac; this provides script-based webviews with access to latest WebKit and Nitro Javascript. See New web views in MoneyWorks 9.1 and later for more information
  • Adopt WebView2 for embedded web views on Windows (where installed); this provides script-based webviews with access to the Chromium/Edge browser engine instead of the IE11 browser offered by IWebBrowser2. See New web views in MoneyWorks 9.1 and later
  • Using the new web views, you can now call out to MWScript from Javascript in a web view’s content. You can also inject javascript into a Web view’s content from MWScript. See Communicating with Javascript in a Web View
  • Fixed assignment to window bounds properties
  • Fixed crash with extremely long array keys
  • Fixed potential crash when SetFieldValue is used in bulk and results in a progress dialog
  • Improved REST error reporting
  • Added Regex_SearchStr returns the first matched substring or empty string if no match
  • Added Regex_GetMatches returns an array of tokens matched by parenthesised subexpressions in the regular expression
  • Improved regex error reporting
  • Reduced threshold of regex_complexity error on Windows
  • HexDecode no longer enforces output being valid utf-8. This is to facilitate re-encoding binary data such as the output of HMAC as Base64
  • GetWindowProperty now returns NULL if the property is not found, rather than throwing a runtime error
  • LoadPicture now displays “PDF” on Window when a PDF was loaded from the server (Windows cannot display PDFs)
  • Timestamp() added TSF_Unix, TSF_Unix_ms, and TSF_Unix_us formats for Unix epoch decimal timestamps
  • Timestamp() format parameter may now be a strftime format string
  • DateToText() format parameter may now be a strftime format string
  • Added ModalTransactionWindow function to invoke a standard transaction entry window modally
  • Added CreateFolder to create a folder
  • Added AddSafePath function to invoke the preferences for user to add a safe path
  • Implementing the same handler name twice (where the first implementation has a non-empty handler body) is now flagged as an error when you do an explicit compile in the Script Editor. In order to not break existing scripts that might have this issue, this error does not prevent existing scripts from compiling at load time. The script will need to be fixed (by removing the earlier extraneous handler definition) when it is modified in the Script Editor
  • Fixed potential crash when SetFieldValue is used in bulk and results in a progress dialog
  • Built_In:__SendSMTPMail now has the option to add multiple attachments by passing an array of paths instead of a single path string

New in MoneyWorks Cashbook 9.0.9r2 (Jun 27, 2022)

  • Fixed failure to import small XML files on high-latency network connection
  • F5 Report: Was incorrectly calculating Box 3 (Singapore)
  • Detailed Stock Listing Report
  • Fixed crash with open(1) with a moneyworks:// scheme url identifying a server folder (Mac)
  • Bank Balance Report: Resolved rounding issue with large Forex balances
  • Fixed initial Account list column format when GST/VAT processing is disabled for the document
  • Print setup dialogs are scriptable

New in MoneyWorks Cashbook 9.0.9r1 (May 30, 2022)

  • Fixed a problem in the search optimiser in 9.0.9 that broke some date searches in reports
  • Fixed a 9.0.9 crash in the MWScript Ask() function

New in MoneyWorks Cashbook 9.0.9 (May 30, 2022)

  • Import with update product/name control accounts was broken in 9.0.8
  • Improve traversal of “notwork security” packet inspection proxies for software updates and web services on Windows
  • Stocktake list report
  • Bill of Materials Costing Report: Sometimes used buy price instead of average unit value
  • Asset Register: Fixed depreciation of assets in period of purchase if purchased on last day of period
  • Asset Register: Fixed issue with departmentalised asset disposal account
  • Parsing of Yodlee data is much faster
  • Fixed opening PDF files (manual/tutorial) on Monterey 12.3
  • Importing transactions: Transaction.promptPaymentDisc % field is now set as a side effect of setting promptPaymentAmt via work-it-out
  • Option to autobuild out-of-stock BOM products when requisitioning for a job (see the Job Costing Preferences panel to turn on this option)
  • Fixed Windows save file dialog sometimes not showing the locations sidebar
  • Simultaneous Process+Print of SO by two different users could result in both invoices being printed by one of the users
  • MoneyWorks for Windows is now built against the Windows SDK v143 from Microsoft. This SDK does not support Windows 8.0 (it does support Windows 7). If for some reason you are still running Windows 8.0, please update to the Microsoft-supported “Windows 8.1 Update”, or, preferably, Windows 10
  • Fixed Stock Enquiry Sum Selection for Pending Purchase Orders incorrect results
  • Fixed crash with Aged Debtors invoked from 64-bit Gold client on Windows when connected to a server
  • Addressed modal and floating window positioning issues on Windows with multiple monitors
  • Detail.Account work-it-out when importing a purchase of a stock item for a job, will now insert the expense account instead of the stock account for the item (the same as you get when manually entering such a purchase)
  • Plugin zipping will no longer add ._ files from Mac file shares on Windows
  • Fixed a potential crash in the Lookup() function
  • Added sign setting for CSV statement importing
  • Server:
  • REST read-only polling when file is not otherwise in use could result in the latest backup being removed
  • Fixed potential deadlock during dropped-connection recovery
  • Windows Console software update browser now supports modern CSS
  • IP blocklist facility to drop unwanted connections by IP range
  • Default blocking of egregious portscanners
  • Fixed incorrectly formed Recent Items link after logging into a non-ASP Datacentre with an email address as a username
  • Small data imports (<2K) will no longer run on the server (prevent extreme server load from iBodyShop)
  • Searching for timestamps now works reliably when the server’s service locale does not use d/m/y date format
  • Scripting:
  • New JSON parser (500x faster)
  • JSON_Parse correctly interprets uXXXX where XXXX is non-ASCII UTF16 (9.0.8 only fixed this on Mac; Now works on Windows)
  • Fixed formatting of very large integers (such as JSON numeric IDs)
  • Leaked object handles are now logged when a script is unloaded
  • UpdateOrderLines allows linking to unposted invoice
  • UpdateOrderLines now clears the order’s ShipQty in invSeq linking mode
  • SetProgressMessage is now per-script
  • foreach loop bounds range may now be larger (64 bit long long int instead of 32 bit)
  • foreach loop bounds generates an error when out of long long range
  • spurious “overriding intrinsic” warning is no longer given for ‘uses’ statements
  • Runtime errors no longer auto-unload the offending script (9.0.8 change). As well as a potential circumvention of business rules, this was causing additional instability even after recompiling the script—in particular window handles would not be passed as parameters
  • CURLOPT_CERTINFO/CURLINFO_CERTINFO to capture and retrieve full certificate dump from a TLS connection
  • Loading external script packages with LoadScriptFile is now logged
  • ItemHit handlers for editable list cells may now have more detailed specific naming (down to the column name of the active cell) and will receive additional parameters (namely the list handle, the current row number, and the current column number). e.g. on ItemHit:F_TRANS:L_LIST:DI:Location(winRef, listId, listHdl, rownum, colnum) for an ItemHit handler that responds only to kepresses in the location column of Debtor Invoices. Note that for the transaction entry form, you must supply the type specifier. Note also that due to backwards compatibility, the list is identified by its underlying identifier L_LIST rather than a tab name like By_Item. This does have the benefit that you can respond to, eg, the job column in either the By_Item or By_Account tabs using the same specific handler
  • Fixed display of popup idents in the UI editor
  • Fixed the ModalListWindow() function on Windows which incorrectly instantiated an MDI window instead of a top level window, resulting in UI lockup
  • The Alert function now recognises an empty string button name as “no button” on Windows for the second and third buttons. You can also use NULL if you need to pass all button parameters to specify the timeout parameter
  • Curl_Exec on Windows will add CURLSSLOPT_REVOKE_BEST_EFFORT | CURLSSLOPT_AUTO_CLIENT_CERT options to curl requests by default. Without these, packet inspection proxies will typically not be traversed. If you do not want this security downgrade on your client, you can set the strictRevocationCheckinginCURL registry key in the MoneyWorks Preferences to 1

New in MoneyWorks Cashbook 9.0.8 (Mar 22, 2022)

  • Fixed issues with 9.0.7 BAS Guide (spurious zeroes on box G11, box G1 not including GST Free Sales)
  • Support for mapping tax codes to foreign tax guide codes. See Paying GST/VAT in Multiple Countries
  • Available Shopify support
  • Available BigCommerce support
  • Available WooCommerce support
  • Product Sales Enquiry: Fixed various cosmetic issues
  • Product Sales Enquiry: Fixed various cosmetic issues
  • Product History: option to exclude zero qty lines
  • Customer Sales Enquiry: unposted setting is respected in movements list
  • Product Sales Enquiry: support include unposted on network
  • Email subject lines can now be pinned and stored for re-use
  • Save a Copy as Clone: Now includes asset categories
  • Pre-installed holidays now work on APFS and Windows
  • Stock transfer journals now auto-split lines to streamline entering serial numbers for created stock
  • Credit notes now respect quantity price breaks
  • Age by Due Date Report now omits cancellations
  • Autocomplete email addresses is now less aggressive
  • Prepayment deposit lines no longer omit tax codes when the deposit control account includes a department
  • Importing Job Sheet items – the type (IN/EX) may now be explicitly specified instead of relying solely on the sign
  • A negative stock purchase (return) with a discount no longer generates a spurious stock/cogs adjustment
  • When updating MoneyWorks, the std scripts are now replaced rather than merged. Don’t keep your own scripts in the std scripts folder
  • Fixed potential double & in Asset Category code popup on Windows
  • MoneyWorks will now post warning messages when document size approaches the maximum size (4GB)
  • Fixed a random crash on startup related to progress dialogs and software update check
  • Period numbers can be shown in the Period Maintenance dialog (hold down the Shift key)
  • Name.WebURL was allowing too many characters to be entered (field size is 63 chars)
  • Fixed some pixel alignment issues in budget spreadsheet window
  • Unposted cash transaction stock movements now show in Stock Enquiry with Include Unposted
  • Product importing no longer spuriously sets multiple price flag when updating existing products
  • More informative progress messages on clients when retrieving data from the server
  • Bank feeds: Yodlee Fastlink 4 — Localised default banks for New Zealand
  • Fixed software update download progress display when downloading manual
  • Fixed software update temp files being left behind
  • Statement importing: Coding a transaction to the same bank the statement is for is now flagged as an error
  • Scripting fixes and additions:
  • Allow scripts to use intrinsic function/global names as handler/local var names. In this case the local identifier will hide the global one. The declaration will be coloured purple by the syntax colouriser
  • RemoveLeading and RemoveTrailing functions to truncate the beginning or end of a string
  • GetFieldValue on a period popup: pass true as third parameter to decode to period number
  • UI editor: popup control idents and z-order now redraw properly
  • UI editor: fix crash on Monterey when showing idents
  • Script editor: autocomplete window was not wide enough on Monterey
  • UI editor: prevent resizing objects to a negative dimension
  • UI editor: tab control selection frame+resize handle now show on Windows
  • UI editor: popup control selection frame+resize handle now shows properly on Mac
  • Installing scripts from .mwxml: better progress logging
  • Navigator() function may now be used from PostedTransactions handler (it executes asynchronously)
  • Fixed double & in popup menu controls on Windows
  • Removed unintended 32K length limit on concat and syslog functions
  • AppendPopupItems now interprets ( item prefix as disable this item (per documentation)
  • Fixed Mac script editor not deactivating when in background
  • Fixed potential crash if a script is called from a custom list column
  • JSON_Parse now correctly interprets uXXXX where XXXX is non-ASCII UTF16
  • Server:
  • In ASP mode, the server now logs any folder login attempt
  • enableReconnections was not being maintained properly in the conf file
  • HTTP GET on the DC port now gives a 418 error
  • Console now flushes folder settings on exit field (in addition to changing list selection)
  • Correct reporting of certain REST request errors as 4xx or 5xx as appropriate
  • Changed the config variable name for verbose logging so that it gets turned off when updating. Do not turn it on verbose logging unless Cognito support asks you to

New in MoneyWorks Cashbook 9.0.7 (Dec 16, 2021)

  • Fix SMTP on Windows (the built-in SMTP MWScript was not being loaded due to being installed with an incorrect file extension)
  • Importing payments on invoices: performance improvement
  • Importing payments on invoices: fixed potential crash with unbalanced payments
  • Export XML performance improvement
  • Import progress window was not displaying progress on Mac
  • Canada GST report no longer showing for all locales
  • Datacentre/Console now times out if a database server becomes unresponsive
  • Budget importing now tolerates blank lines in the input

New in MoneyWorks Cashbook 9.0.6 (Dec 7, 2021)

  • Print from Preview (Mac) was being vertically offset on the page. This has been fixed, but if you normally Print from Preview, you may have adjusted your forms to account for this vertical offset. If so, you may need to adjust them back.
  • Fixed a number of issues introduced by the switch to the new Scintilla text editing framework on Mac…
  • Script Editor (Mac) performance issue syntax colouring XML fixed
  • Script Editor (Mac) high CPU usage fixed
  • Script Editor (Mac) fixed MWScript syntax colouring missing the final token after using html/xml/json syntax colouring lexer
  • Script Editor (Mac) for Report custom control was not active
  • Fixed Report-to-Excel only working half the time (Mac)
  • Bank Reconciliation Status Report: performance optimisation
  • Datacentre: Stale-disconnect time may no longer be less than 5 minutes
  • Datacentre: Rate-limit for reconnect attempts to give more time for the network to come back up if it has gone down
  • Fixed Yodlee account linking error when there are not yet any linked accounts
  • Fixed a stack overflow crash in the in-field expression evaluation when the expression is very long
  • Stock History report: corrected handling of revaluations and negative stock
  • Copy Records as XML command is now in the contextual menu (Gold)
  • Previously included in 9.0.5r1 DC
  • Fixed Tax rates dialog being read-only on a server in 9.0.5
  • Fixed high CPU usage in the import dialog (Mac)
  • Cosmetic fix to edit list column resize on Mac
  • Scripted clipboard access (GetClipboardText and PutClipboardText)
  • Fixed potential crash on server shutdown (mainly on Windows)

New in MoneyWorks Cashbook 9.0.5 (Nov 10, 2021)

  • Fixed a crash on 9.0.4 Windows server when uploading a JPEG
  • Fixed a rare crash on 9.0.4 Windows server when client disconnects
  • Fixed spurious departmentalised control account error in product importing when updating
  • Tax by Currency Report: Was not correctly handling inwards transactions on an invoice basis
  • Small optimisation for importing payments on invoices
  • Report part search expression syntax check now has “invis” custom controls in scope
  • Fixed spurious currency error that could happen when importing transactions
  • Commission Report now set to run on server
  • Script Editor – fix margin drawing on macOS Monterey
  • UK VAT: Amend to handle assets on flat rate scheme
  • Mac custom date format YYYY-mm-dd no longer causes format alert in NZ
  • Std plugins on Mac now have file extensions, since Big Sur and later will not display icons in Finder based on Finder type metadata alone
  • Improved budget importing — A/B budget supported, invoke by drag & drop supported, auto-detect of number of periods, drop file on column to specify start period
  • Colour field in User2 table
  • XPathEval count for empty nodeset now works

New in MoneyWorks Cashbook 9.0.4 (Oct 27, 2021)

  • General changes:
  • Tweaked Mac installers so that M1 Macs don’t falsely claim that Rosetta needs to be installed
  • Product.BuyPrice is no longer updated for inventoried items returned for credit
  • Fixed Purchase Order invoice-after-goods processing to allow a negative purchase line to be zeroed for exclusion from the invoice when it has already been processed previously
  • Updated to libcurl 7.78.0 on Windows
  • Easier access to console log and logs folder (in Help menu). Also the Gold logs are now in their own Logs subfolder on Windows
  • Modeless MAPI is optional and only enabled on Windows 10, since it appears to be unreliable on older versions of Windows/Office
  • Generic CSV Bank Importer: Now ignores lines where date is empty or amount is empty
  • Reports:
  • New Profit and Loss for Date Range Report
  • New Tax by Currency Report
  • Stock History Report: fixed error when transactions not being shown
  • Trial Balance to Date: fixed error for first period of financial year
  • Fixed a potential crash in GST Report
  • Server and networking changes:
  • Addressed an issue with the number of connected users sometimes being miscounted on Windows servers
  • Further sleep detection logic for flaky versions of Windows 10; if your PC went to sleep while network connected and did not tell MoneyWorks, MoneyWorks will now just exit on wake instead of crashing
  • REST doreport: optimised for large reports with no output format specified (i.e. plain text output)
  • Improved CLI logging
  • Server explicitly logs disorderly disconnects
  • Optimised the ledger autocomplete cache building to improve performance for data files with millions of ledgers (we do not condone structuring your accounts to have millions of ledgers — that is nuts)
  • jpegoptim path is relative for 64-bit install on Windows, instead of hardcoded to the (x86) directory
  • Addressed rare server crash on Windows server on client disconnect
  • Fixed a potential server lockup when a REST/HTTPS client fails to respond to a TLS shutdown
  • If a REST worker encounters a database lock, it will now fail instead of potentially retrying forever
  • Datacentre Console now indicates users whose connections appear to be stale ahead of them being disconnected
  • Scripting improvements:
  • Fixed Before:F_REPSETUP being sent twice if the script handler takes a long time
  • New Timestamp function provides formatted timestamp with milliseconds
  • New WaitMilliseconds function for programmed script delay
  • Fixed script syntax colouring when first line is a hashbang (#!)
  • New Standalone scripts (hashbang mode) can receive command line arguments (in __args[])
  • Setting B_NEXT to true in the product entry now saves the record and advances to the next one as expected
  • Removed some outdated info from the command line tool man page
  • Message.StartDate is now mutable by ReplaceField()
  • Regex_search: Fixed spurious runtime error when search string is empty

New in MoneyWorks Cashbook 9.0.3 (Sep 2, 2021)

  • Improved network resilience when client network connection drops temporarily, and improved idle client detection for Windows clients
  • Improved report execution speed, particularly on Windows servers running on KVM virtual machines
  • MAPI mailing is now modeless when connected to a server
  • Receive non-stocked items from PO before invoice now supports all items on order being non-stocked
  • Bank Feeds Fastlink now uses external browser on Windows to work around embedded browser compatibility problems in Yodlee Fastlink
  • Show Company Details: added a “Single user mode required” notification
  • Improved Sum Selection on Orders to differentiate allocated and backordered
  • CSV Bank statement importer
  • Improved handling of departments in Asset Register
  • Account Enquiry Include Unposted performance improved on server
  • Fixed cosmetic Account Enquiry drill down highlight issue (Windows)
  • Shift-Next in Transaction entry now turns off Recurring checkbox, because the recurrence record is not duplicated
  • Datacentre Session file recovery is now always logged
  • Scripting enhancements:
  • Scripting: <READ> metasymbol to make a custom field read-only
  • Scriptable option to disable TLS attempt for SMTP: BuiltIn:SetSMTPEnableTLS(false)
  • Scriptable option to enable JS error reporting in Windows Web View: WebViewControl(w, "L_WEB", "options reportErrors='true'")
  • CLI can directly execute .mwscript files
  • Fixed an issue with REST request logging

New in MoneyWorks Cashbook 9.0.2 (Jul 22, 2021)

  • New Rounding Mode option: For jurisdictions that mandate rounding half cents (for GST/VAT) “upwards” (technically, away from zero) you can now choose this rounding option instead of the default Bankers’ Rounding (round-half-to-even). Find this option in the GST/VAT Preferences for your document.
  • Anomalous entries in GST report now also have a background highlight, to be more easily discerned by colourblind users
  • Work around macOS High Sierra and later not reporting the correct language locale, resulting in Long Date format always being in English
  • Fixed an intermittent login crash for users with very long MoneyWorks Now usernames
  • Optimised Sum Selection for Orders
  • Asset Register: New assets that have zero bookvalue should be made active
  • Asset Register: Allow new assets to be made non-depreciable
  • Asset Register: New assets with DV depreciation couldn’t alway be depreciated monthly
  • Implemented serverside importing for assets
  • Transaction Colour popup a bit wider
  • Allow zero-qty serialised product line on invoice (to indicate backordered item)
  • Prevent idle sleep for network clients, which otherwise results in disconnection
  • Improve forced-sleep logout behaviour for network clients
  • Fixed an issue with processing Sales Orders for cash customers
  • Retain send name in From header for SMTP, if specified
  • Fixed 64-bit crash on Windows when editing text objects in forms designer
  • Improved Work-it-out behaviour for price codes importing transactions
  • Bank Feeds improvements
  • Fix potential crash displaying fonts in preferences (Windows)
  • Fixed decimal alignment issues with parenthesised negatives in form lists
  • Fixed missing tooltips in Navigator on Windows
  • Fixed a runtime error in Profit Yearly Comparison report
  • Jobsheet importing now supports full length memo fields
  • Fixed type-selection in hierarchical lists, such as the Index to Reports
  • Report output to HTML file retains custom font size and style on parts and cells
  • Fixed On Order for products not respecting unit conversions
  • Fixed a login race condition with serverside reporting which could occasionally cause a report to fall back to running clientside
  • Removed spurious log entry when running a report on server for text output
  • Improved description of CI overpayment credit note
  • No longer using WinInet api on Windows; CURL across the board
  • Fixed Post icon disabling for payments on invoices
  • Handle pathological PO constructions (negative non-stocked items + stock received before invoice)
  • Preliminary Monterey compatibility work
  • Fixed concurrent login accounting for REST or a perpetual license Gold login
  • Scripting and automation:
  • REST API change: REST import errors are no longer inappropriately reported as 500 Internal server error. These are now reported as status code 422
  • MWScript: handler parameters that are not provided now have value NULL instead of throwing an error when accessed (allowing for optional parameters).
  • MWScript: The Round function’s default rounding method is now the document’s rounding mode. Use the optional third parameter to force a specific rounding mode.
  • Script Editor: reloading of dependent scripts improved
  • REST//list may also be invoked with REST/folder/list for the benefit of UAs that don’t like //
  • Fixed exception from Mail() function on Catalina and later if no attachment supplied
  • Fixed a web object crash with 64-bit Windows version
  • Fixed Mac screen update issues after programmed refresh in Navigator
  • Form variables Stmt_Date, Omit_Credit, Omit_Zero, Print_Copy, Include_Remit, Message are now instantiated at startup (previously these variables would only exist after the first visit to the statement printing dialog)
  • Experimental API for database change notification

New in MoneyWorks Cashbook 9.0.1 (Jun 2, 2021)

  • Fixed Drag and Drop of PDF files into image objects on Windows
  • Asset Register: Fixed depreciation of a new asset purchased on 31/12 being doubled when year end is 31/12
  • COM key reinstall now works with 64-bit Gold on Windows
  • Opening PDF manual checks that you have the v9 manual
  • Profit and Loss for Month: Fixed a syntax error in one configuration
  • Sales order with negative order lines now won’t go to Sold until the negative lines are also processed
  • Labels can now be smaller (40 points wide)
  • Detail.custom1 and Custom2 are now in the transaction import map
  • Windows F1 Help now exits the current field so that you can use the search function in Help
  • Fixed a crash on Windows in the printing dialog when selecting a form while output is set to Excel
  • Fixed a potential crash when processing a custom toolbar icon click
  • Yodlee logging is quieter by default
  • Paid By and Price Code popups bigger
  • Scripting:
  • ValidateFieldWithValidationString can now take a list item or handle and it will validate the active cell of that list
  • SetFieldValue(w, "B_NEXT", 1) to step through records now works as expected (v9 regression)
  • CLI with -z now loads the SMTP BuiltIn script as expected
  • The BuiltIn SMTP script is now named as documented
  • Round now has an optional parameter to optionally get primary-school rounding instead of Banker’s rounding
  • Verbose logging option for CURL (CURLOPT_VERBOSE)
  • CURL support for CURLOPT_SASL_IR and CURLOPT_LOGIN_OPTIONS
  • Verbose logging option for SendSMTPMail (Built_In:SetVerbose(true))
  • Server fixes:
  • Fixed a crash in 64-bit Win Gold client finalising GST when connected to a server
  • Removed unnecessary logging
  • Windows Console can be minimised again
  • Fixed server crash getting effective stock
  • Importing XML with Byte Order Mark (why would you even have this??) on the server now works
  • Removed connection limit UI for root folder in Console
  • Allow zero as a connection limit for subfolders in Console
  • Fix Windows server meltdown when ports collide with IPv6 turned off
  • Remove IPv6 checkbox because the setting should not be changed while documents are active; can be disabled in .conf if required
  • HTTP logging now logs the result code (this does mean that the log entry does not happen until the request has been processed, rather than before it it processed)
  • CLI with -z now loads the SMTP built-in script as expected
  • Fixed CLI login to MWNow documents (was failing to match the document URL)

New in MoneyWorks Cashbook 9.0 (May 12, 2021)

  • Platform optimisations:
  • Apple Silicon Universal binary runs natively on newest Macs with M1 processors. Up to twice as fast as running on an Intel CPU.
  • 64-bit Datacentre is now fully 64-bit on Windows. 32-bit Windows is no longer supported for Datacentre server. Datacentre will deliver 64-bit Gold client updates to existing 64-bit Gold installs, and 32-bit Gold client updates to existing 32-bit Gold client installs. You can install both, or swap between them.
  • 64-bit Optional 64-bit MoneyWorks Gold on Windows — up to 15-30% faster than the 32-bit version.
  • New Feature Asset Register — Record fixed assets and track and report on depreciation
  • New Feature Search in Preview — need to find something in a 300-page report. Quickly search in the preview window.
  • New Feature Services — allow the automatic installation of opt-in modules supporting third-party services, allowing you to choose additional features that you find useful.
  • Available Bank Feeds (currently in NZ and Aus; charges apply)
  • Available Invoice Automation Have supplier invoices and/or customer purchase orders directly entered into MoneyWorks with no re-keying.
  • Available e-Invoicing Send and receive invoices electronically using the international PEPPOL standard.
  • Windows UI improvements including scaling up all windows and dialog boxes for the hard-of-seeing
  • Add custom fields to detail lines
  • Insert line item anywhere in transaction/order by shift-clicking Add Line button
  • Receive non-inventoried goods on PO before invoice
  • Select Printer dialog to make it easier to do page setups for the printer you intend (Windows)
  • EBITDA Reporting in P&L
  • MDI windows are composited on Windows for smoother updating
  • Scroll bar in mail message field
  • Copy and Paste custom column definitions between list views
  • GST Report drill-down available before finalisation step
  • Improvements to Cash Projection, Stock History Report, Statement of Cashflows
  • Period popups now clearly indicate current year, last year, and end-of-year periods
  • Find Serial to easily find a product by serial number
  • Server improvements:
  • IPv6 support
  • Improved logging
  • Clients optimise JPEGs before upload to server
  • Database will auto backup even with high frequency 24/7 REST requests
  • Serverside invoice rendering speeds up invoice production when invoice forms perform complex database lookups
  • Checkbox option to disable mDNS for servers that don’t need/want it
  • Improved committed/available stock display performance
  • Downloading a backup now has the option to include or exclude images
  • Scripting and automation improvements:
  • SMTP available from CLI
  • XMLWriter api (CreateXMLDoc, BeginXMLElement, AddXMLElement, EndXMLElement, FinaliseXMLDoc)
  • Built-in SendSMTPMail implementation
  • AppendColumnToStdEditList function to customise the standard transaction detail lines and timesheet lists with extra columns of your choosing
  • Streamlined script editor search
  • CreateArray(key_value, tuples) to populate an array as it is created
  • Pass initial window properties to ModalWindow/CreateWindow/CreateListWindow/ModalListWindow
  • NotifyChanged function
  • SetProgressMessage function
  • URLEncode improved and expanded to support mail encoding
  • Base64Encode supports line breaking
  • Curl_StrError function
  • TimeAdd function to add seconds to a DateTime
  • TimeDiff function to find the difference in seconds between two DateTimes
  • HMAC function to calculate hash-based message authentication codes
  • Curl_GetInfo function to get information about a CURL transfer
  • Script Editor remembers the last selected script
  • Regex_Search function to find the position of a pattern in a string
  • UpdateOrderLines function for programmatic processing of orders and linking to invoices
  • CLI restore command to restore backups of individual mwgz files or entire Backups directories
  • CLI archiveconf command to back up folder.conf files from an ASP Datacentre
  • You can now add more custom toolbar icons
  • Reports can have a push-button custom control
  • NotifyChanged function
  • Navigator(“prin”) for invoking Print List from a script
  • GetRecordForListRow and PutRecordForListRow functions
  • ReadCurrentRecordForWindow now makes the returned value a window property, so multiple scripts operating on the same window will see the same result
  • Removed window title scripting indicators (the asterisk)
  • Base64Decode functions ignores newlines in input
  • Regex_Search function
  • WriteToTempFile can now suggest a location
  • GetUIField can use symbolic window names
  • FirstUnlockedPeriod() function
  • Fixed some stuff:
  • Improved forms UI editor alignment guide behaviour
  • Fixed issues with Windows HiDPI scaling in the margins dialog
  • Fixed issues with Windows HiDPI scaling with lists in the in custom form editor
  • Forms and reports generated with the CLI no longer suppress regional number formatting
  • Scripting: fixed double invocation of Before handler when Next clicked
  • Scripting: CheckCodeField function respects the “**” account meta type for IN/EX
  • Datacentre database servers will close immediately on last logout after 24 hours of continuous operation (i.e idle delay → 0)
  • Windows status bar help strings clear when they should
  • Improved the behaviour of custom column widths when moving between HiDPPI and normal DPI Windows machines
  • Datacentre does not do a backup if no changes were made
  • SendEmail has been retired in favour or MWScript/libcurl-based SMTP (see above)
  • Reprinting GST report now updates the required tax totals for reprinting forms when the report runs on the server
  • Fixed a cosmetic issue with cursors at window edges on Windows
  • Load Bank statement remembers the preferred format for each bank account
  • Load Bank statement UI streamlined a bit
  • Improved report preview drill down behaviour when drilling down to a single record
  • Fixed JobEntry import sell price work-it-out behaviour when pricing mode not properly set
  • Removed spurious alert that could occur when importing XML stock journals
  • Sending a bunch of emails now shows progress display
  • DC Console now shows IP address of connected clients
  • Form thumbnail generation is now time-limited (for forms that do a large amount of computation)
  • Removed annoying beep when a window opens with a date field whose value is set to blank
  • Option to suppress script progress dialog
  • Scripting: File_Open in TMP dir on Mac now applies correct Mac file type for extension
  • Sped up the Pay Creditors payment method filter
  • Fixed potentially incorrect XML importing of payments on CIs
  • Save dialogs no longer try to force the folder location
  • Prettified the Windows output popup to match the Mac version
  • Product History is much faster over a high latency network
  • Delete key no longer operates as “Back” in Mac webview controls
  • Replace command can operate on Roles
  • NumFormHex16 and NumFormHex32 constants for NumToText hex format
  • Item History Pending now properly shows backordered qty
  • Fixed a bug that could sometimes cause changes to a script not to be saved
  • New Field: Detail.OriginalUnitCost records the inventory unit value prior to a stock purchase being posted (for audit trail enhancement)
  • Fixed a problem with dates in server side reports preceding 1970
  • Transactions imported from bank statement are flagged to preserve gross values if GST/VAT is modified
  • SMTP mailing indicates the server settings in the mailing window
  • Process Order: Default to correct payment type based on customer settings
  • Timesheet activity field full length available in data entry
  • Receipts can be imported against head office accounts
  • Jobsheet import now sets EnteredBy
  • Adopted openssl 1.1.1
  • Detail Line Items List: Item Lines view – Qty now decimal aligned
  • Fixed sidebar report invocation on Big Sur
  • Backup option to exclude images
  • Details report has better formatting of stock journals
  • Various cosmetic fixes

New in MoneyWorks Cashbook 8.2.4 (Dec 7, 2020)

  • Big Sur compatibility fixes
  • Fixed crash on macOS Big Sur rendering PDFs in Preview window
  • Fixed mouse click autoscroll problem in server login window and Bank Reconciliation on macOS
  • Big Sur No changes on Windows

New in MoneyWorks Cashbook 8.2.2 (Jun 22, 2020)

  • Fixed a crash in the form Layout dialog when updating the form thumbnail on a serverside statement when no statement had been run yet
  • Fixed an unnecessary server failure on Windows server in non-SSL mode when certain rare network interrupt conditions occur
  • Fixed rendering of abbreviated date formats in serverside reports
  • Fixed a problem with delivery of client updates from the server
  • Autobuild during posting now uses date of sale for the build journal rather than current date
  • Improvements to serverside pdf optimisation
  • Work around update installation issues caused by Catalina 10.15.5. If you have trouble updating client software on macOS Catalina 10.15.5, you may need to download a fresh installer, or install the 10.15.5 supplementary update.

New in MoneyWorks Cashbook 8.2.1 (May 20, 2020)

  • General fixes:
  • Fixed a GDI resource leak on Windows that could eventually lead to a crash
  • Fixed reporting of filesystem permissions/access errors on Windows, which would sometimes be reported as “Error 6” instead of the actual error
  • Fixed crash connecting to Daylite (Express)
  • Auto allocation rule: “Any field” now only uses Contains matching rather than Starts With.
  • Fixed spurious error logged when line-breaking on unicode characters in forms
  • SMTP emails now allow longer message text
  • PDF output on Windows is now more tolerant of transient filesystem errors that may be caused by antivirus software
  • PDF output on Windows no longer fails when a form made on Mac has an embedded PDF
  • New accounts doc: Mac now defaults to ~/Documents again instead of home directory
  • Forms Designer: Fixed cosmetic issue when deleting list columns
  • Forms Designer: Lists with Calculated by Row Count now support the index variable to get the row number
  • Fixed crash in the Bank Statement import when clicking in the blank space below the reconcile column
  • Fixed currency numeric format issue in the CLI
  • Fixed batch expiry date lookup on Windows when selecting a batch from the batch chooser
  • ReplaceField functionality enabled on TheirRef and receipt detail fields
  • Fixed Windows frame window status bar height after window resize on HiDPI screen
  • Datacentre:
  • Long running backup from previous close no longer causes error in a subsequent database close when REST request frequency matches shutdown latency
  • Fixed moneyworks_server user showing in system preferences Users list with no Real Name
  • No longer logging network error payloads
  • Image optimisation now skips files that are already less than 20KB in size
  • Scripting:
  • Custom editable list cells in read-only columns are now mutable from a script

New in MoneyWorks Cashbook 8.2 (Mar 9, 2020)

  • General bug fixes and enhancements:
  • Bank statement importing now supports new-syle XML-based OFX in addition to old-style SGML-based OFX bank statements
  • Bank statement importing remembers your preferred format and should generally pick the right format between QIF, old OFX and new OFX (including QBO, QFX)
  • Fixed a syntax error in the Cash Flow report
  • Updated Stocktake Report to fix overlapped numbers in middle column
  • When creating PDFs on Windows, MoneyWorks will look for per-user installed truetype fonts in addition to systemwide ones.
  • Fix an issue with non-ASCII characters in emailed PDF file name
  • Made the AppleEvent permission message more generic because Apple uses it in unexpected places, like when you delete a file from a File-Open dialog box
  • Datacentre: Managing BOM is much faster on a high-latency network
  • Datacentre: Reliability improvements on very high load servers
  • Datacentre: Fixed cloning via [New] templete mechanism
  • Datacentre: Added config option to disable mDNS
  • Fixed issues with choosing/validating serial numbers in journals and stock returns
  • Better handling of spurious Objective-C exceptions from printer drivers (Mac)
  • Scripting:
  • Fixed a potential crash in AddStatementTransaction
  • File_Open can use a filename of “STDIN” to open a dropped file passed to a bank statement importer script. Falls back to a file open dialog as for an empty name if there wasn’t a dropped file
  • SavePicture now works on the transaction image placeholder for newly imported images plus GetFieldValue now provides useful generation information for built in picture placeholder objects.
  • Floating windows created from a script are now closed when the document closes
  • Script loading is now logged
  • CLI now becomes much more verbose when -v option is used twice
  • CLI optimg command. See the man page for details
  • Fixed potential crash with Applescript Evaluate expression that results in error
  • ChooseFromList now accepts the full range of numeric list option flags as for InsertListObject
  • Fixed incorrect timezone indication during Daylight Saving for DateFormRFC2822 format on Mac
  • Added DateFormISO8601Time formatting for DateToText

New in MoneyWorks Cashbook 8.1.9 (Dec 9, 2019)

  • General bug fixes and enhancements:
  • Trial Balance Report: raw_data mode to support consolidation
  • Payment importing: One payment can now pay more than 255 invoices
  • Retain payment method when backing up to the beginning from last step of Batch Creditor Payment process
  • Recalculate Analysis when backing up to the beginning from last step of Batch Creditor Payment process
  • Bank Register Report: Account list is now in lexical order
  • Cash Flow Report: Include Unposted option
  • Electronic Payments: BACS format for UK
  • Retry file deletion for temporarily write-locked files on Windows (typically caused by anti-virus or backup software; this sometimes cause the autobackup in Datacentre to fail)
  • Regression fix: pasting a valid value into blank field with autocomplete was poppin up a single-value autocomplete list
  • Change to Don’t Show On Statement in Get Info was sticking to subsequently modified transactions — fixed
  • Simultaneously entering a mixture of DI and SO could show SO line item format in a DI — fixed
  • Negative quantity sale (for returns) of batch-tracked item no longer shows batch number picker
  • Load Bank Statement toolbar icons were not enabling correctly on Windows
  • Name.EInvoice field length limit enforced
  • Transaction.Transferred field for e-invoicing
  • Remove spurious “save changes” alert when quitting with an open enquiry window
  • Stepping through a selection of orders now resets the process menu setting for each one
  • Item reorder was not respecting the unit conversion for outstanding purchase orders
  • Fixed issue with importing Name with update via XML
  • Suppress duplicate refnum alert when there is no refnum
  • Scripting enhancements and fixes:
  • Mutex obtained with GetMutex was not autoreleasing on client disconnect for Windows servers
  • Added a text field mnemonic for auto-capitalise (<ACAP>) and one to also suppress wildcard entry (<CODE>)
  • UI form editor now applies auto-size height by default for new text fields and buttons
  • Fixed context menu for Picture object on Windows (was not allowing Import)
  • #COLOUR mnemonic for AppendPopupMenuItems
  • CheckCodeField() now supports “department” codes
  • Login.usernum is now script-mutable
  • GetPlugIns can now get a list of custom forms
  • Alert function no longer interprets metacharacters
  • Fixed a potential “Illegally extended selection lock” error when using the selection passed to AllowPostTransactions in a relational search
  • Datacentre:
  • Set a OneDrive-on-Catalina-friendly permission on backup files (A recent OneDrive update caused failure to sync files that are not group-writeable)
  • Find() function now runs serverside by default when multiple records are found. This will generally improve network performance for scripts, forms, and other things, but it is also possible that if you are relying on an undefined behaviour of Find, you may get different results. Find() can be forced to run clientside by passing true as 6th parameter.
  • Fixed a spurious Dock icon that appeared after processing REST requests on some macOS versions with 8.1.8
  • Reports and statements rendered on the server now respect the client’s date order, regardless of the server’s regional settings
  • Mac Datacentre will now update an existing Gold on the server again (8.1.8 regression)
  • Fixed an unexpected server lock when changing a Name code
  • Deleting a transaction image now deletes the image file on the server
  • Provision for serverside recompression of uploaded transaction jpeg/pdf files (requires jpegoptim and/or ghostscript to be installed)

New in MoneyWorks Cashbook 8.1.8 (Oct 1, 2019)

  • Work around performance problems with building reports menu on macOS Catalina.
  • Work around broken Applescript glue for emailing on macOS Catalina. From Catalina onward, external applescript glue for emailing is no longer supported if your default mail client is Mail.app. MoneyWorks will use NSSharingService to create emails in Mail.app instead.
  • Work around self-update failure on macOS Catalina
  • New Form Signing: Signing a report or form for a Role makes it usable by any users who have that Role.
  • Fixed a bug in report word-wrapping logic with multi-byte UTF-8 characters.
  • Fixed a potential crash in tab-delim text export on Windows with 255-character field values.
  • SectionPageNum form variable no longer throws an unknown identifier error in the calculation editor dialog box.
  • Entering dates as just a day-of-month now works on Windows for any date order (previously only worked for d/m/y format).
  • Fixed a problem with loading custom reports scripts in the Commands menu.
  • Fixed an 8.1.7 regression with entering Time Sheet by Resource—the first time sheet entry line would not be fully filled out with unit and description.
  • Fix privilege issue with Product Sales/Purchase Enquiry.
  • GST Guide (NZ): Print warning on Guide for adjustments.
  • Fixed a problem with using modifier key to update order ship qties in the Process Orders dialog.
  • Fixed an issue where a custom validation list could double-validate with a maximum-length code field value.
  • Product sales/purchase Enquiry now properly differentiates privileges.
  • Fixed PDF report emailing when file extensions are hidden.
  • Fixed problem with evaluatng some expressions on the server (such as auto-allocation rules or custom columns involving ‘and’ and/or ‘or’ operators.
  • Product sell prices B-F now display properly when added to the product list. Elsewhere—for sell prices that are calculated by discounting or cost-plus method—you can obtain the final seel price by using the SellPriceForPriceCode(code) method on a product record, where code is a one-character string containing a capital A..F. (MoneyWorks automatically substitutes this for the various price code fields when you add them to a custom column. If you want the raw field value, add it as a calculated field).
  • Leaving a (modal) Preview window open with a Continue button no longer uses excessive CPU on Mac.
  • Improved label scaling for y-axis of charts when currency amounts are very large.
  • Fixed some issues with storing image formats other than jpg; Mac client no longer recompresses png as jpeg; Non-jpeg images stored on server now have correct file extension.
  • New Draftworx export.
  • New New field Jobsheet.timeProcessed is populated for job sheet entries processed on 8.1.8 and later.
  • Fixed sorting by date column in transaction detail line entry.
  • Datacentre:
  • Important MacOS Catalina: MoneyWorks 8.1.8 or later is required for macOS Catalina compatibility, and on macOS Catalina you must give MoneyWorks Datacentre Console Full Disk Access in order for Datacentre to work.
  • Mac Datacentre executable bundling changed to help with macOS Catalina security restrictions.
  • Mac Datacentre Console now renders normally (Aqua UI) with Dark Mode enabled (dark mode per se is unsupported).
  • Work-In-Progress journal creation is now faster on a high-latency network.
  • Find() function is optimised to operate much faster on a network.
  • Downloading large backups from the server no longer suffers from network timeouts, and backup downloads are no longer limited to 2GB
  • Adjusted network connection timeout to prevent unnecessary failures when servers are slow to respond.
  • Fixed a race condition that, in rare circumstances, could prevent new users from logging into a document.
  • Server report terse format now shows the REST setting for folders.
  • Scripting:
  • AutoFillField can now use custom autocompletion data.
  • New CountElements to get the number of elements in an associative array.
  • New SetStocktakeForLocation updates the stocktake count for a product at a given location, and/or for a batch number
  • Fixed initial window draw issue in Script Editor on Catalina.
  • Updated Scintilla framework on Mac.
  • MoneyWorks Gold built-in MWScript handler for sending email. Currently this is named __SendSMTPMail, so it is not invoked by default, but can be invoked from your own SendSMTPMail handler using Built_In:__SendSMTPMail. We expect to make it the default handler in the future and remove the sendemail tool from the installation in a future version.
  • Ctrl-D now quits an interactive CLI session again (8.1.7 regression) (Mac).
  • New New functions to store properties in a window handle. SetWindowProperty and GetWindowProperty.

New in MoneyWorks Cashbook 8.1.7 (Jul 3, 2019)

  • New features and bug fixes:
  • Adopt “Hardened Runtime” on macOS (required for notarisation). Mac users please note that further changes will be required for Catalina compatibility, especially for Datacentre. Catalina is not due out until October, but we’re taking this opportunity to advise you not to install macOS Catalina without first checking on our website for MoneyWorks compatibility
  • Mac installers notarised for Gatekeeper on macOS Mojave and later
  • SMTP password in App preferences may now be up to 255 characters (allowing for SMTP passwords that are actually API keys)
  • Support for RBC QFX bank statement format, which has excessive whitespace
  • Bill-of-Materials report: Updated to include Memo
  • Job Sheet Memo now allows 1020 characters (up from 255)
  • Job Sheet Activity code now allows 31 characters (up from 9)
  • Transaction importing now supports separate descriptions for hard-coded detail lines in the import map (first line was getting blank)
  • Transaction importing now flags empty tax code as an error
  • Fixed garbage in account name when order processing unbilled account choices is cancelled (cosmetic)
  • Units field can now display all characters of 5-char units
  • Stepping through Creditor Partial Payment dialog now reselects text in the pay amount field
  • Fixed PDF manual failing to install on Windows
  • Fixed screen refresh failing in the Navigator and when switching between SOH and Avail display in a Sales Order (bug in macOS Mojave 10.14.4+)
  • Duplicating a transaction now clears the emailed field in the duplicate
  • Fixed typo in the post-Windows-upgrade registry repair alert
  • Cashbook: NZ GST Guide now included again
  • Transfer Funds: reference number no longer double increments
  • Fixed potential crash in bank statement import auto-coding
  • Support for Append Salesperson in Deposit products
  • Fixed overlaying of cells on a report heading part that is non-blank. The cells now properly overlay the heading text, rather than obliterating it.
  • Duplicating a user now clears the duplicate’s email address
  • Printing lists to email now remembers last Subject instead of taking it from the report title
  • Stock Valuation Report: Apply unit conversion to replacement value calculation
  • Trial Balance to Date Report: Exclude prior period balance for first period of a financial year
  • Bill Job: Separate department of miscellaneous items account when carrying forward unbilled balance
  • Slightly inexact zero stock values and quantities (due to rounding) are now clamped to zero on posting
  • Diagnostic correction to inexactly zero stock values
  • MoneyWorks Now clients:
  • Failover to backup login gateway server now happens more quickly
  • Datacentre server:
  • Serverside analysis with ask for search code now works
  • Datacentre subscription now autodetects an increase in the number of concurrent users for the subscription
  • Further fix to PostedBy for serverside posting (was sometimes getting blank)
  • Fixed a problem with DC service crashing when the TCP port of a previously crashed data server is reused
  • Improved stability and resilience of REST API server. This should eliminate spurious “Too many concurrent connections to server” errors.
  • Improved stale client disconnect behaviour
  • Datacentre REST URLs may now have a ? instead of a / to delimit parameters from endpoints
  • Security improvements
  • Scripting:
  • New Regex_Replace function, replaces text in a string that matches a regular expression.
  • New Regex_Match function, returns a boolean indicating if a string fully matches a regular expression.
  • New Script hook for custom SMTP implementation: SendSMTPMail handler can be used to override default SMTP emailing behaviour with a custom MWScript implementation (using curl; see this article on the Developer pages for an example)
  • New Added DateFormRFC2822 time format (primarily because it is needed for SMTP)
  • Increased maximum number of parameters to a function and fixed crash when maximum is exceeded
  • Fixed buffer overflow in the GetAppPreference function for over-long replyTo
  • The PostedTransactions handler now runs asynchronously (scheduled on main event loop) to prevent scripts from creating a deadlock when transactions are posted as part of another operation (such as cancelling transactions or order processing)
  • Fixed potential crash on Windows when script sets serial number in journal entry
  • foreach in textfile no longer strips tabs (or other non-newline control characters) from the end of lines
  • SetListContents now checks type of second parameter (eliminating crash if non-text type passed)

New in MoneyWorks Cashbook 8.1.6 (Apr 30, 2019)

  • New features:
  • New Online filing of GST Returns (NZ) and VAT Returns (UK)
  • In New Zealand you will find a new command at the bottom of the Commands menu: IRD Connect…; in the UK there will be an HMRC Connect… command. These allow data from a previously run GST/VAT report to be uploaded using your IRD/HMRC login credentials.
  • New QR Code generation in forms and reports
  • The barcode Picture type on a form or the barcode cell type in a custom report may contain the text qrcode: followed by data to be encoded as a QR Code. The size and type of encoding is determined automatically to suit the data you supply.
  • Bugs fixes and improvements:
  • Product list Find box now includes product serial numbers in the search
  • Buy Unit in Product “Buying Info” was truncating units to 3 characters (5 are now allowed)
  • SMTP emailing no longer formats the email address with angle brackets if the address contains a comma. This makes it possible for a single contact to have 2 email addresses in the email field
  • Cashbook: Fixed exception when stepping through auto-allocation rules
  • Fixed preset search in Analysis reports
  • Enable importing memo field into build table
  • Window title for form errors window was incorrect
  • PostedBy now set correctly for non-electively posted transactions
  • Fixed out-of-memory error in Save A Compacted Copy
  • Fixed an issue that could falsely report a problem with currencies when setting exchange rates on a slow server. Also improved progressive posting performance generally.
  • “Decimal” alignment of integers in report cells is improved
  • Custom log “Memo” entries (option key in Log window) now populate the 3 log info fields explicitly
  • Custom Report Controls: Popup menus now scale properly on HiDPI screens on Windows
  • Relational searches of the form [Transaction.keyfield.search][Transaction.otherkeyfield] now work as you might expect
  • Mac version can now open files on SMB volumes (even though you should not do this because it is a Bad Idea)
  • Changed custom validation identifiers for name.bank/salesperson because they were colliding with Name.custom5/6.
  • Fixed a crash on windows when printing product labels for products with barcodes
  • Fixed a clipping issue with y axis labels in report charts
  • Stay Connected alert was broken. Fixed it.
  • Order importing no longer reports error when both freight and order total are supplied
  • Security level filtering is now applied to product and name balance history lists
  • Page setup/size/orientation is now transmitted to the server for paginating serverside analysis reports
  • Other internal fixes (0008512)
  • Work around Cocoa update bug in macOS 10.14.4 That affected Navigator redraw
  • Stocktake was not updating the list when changing the stocktake location (Datacentre)
  • Stock Enquiry: fixed a performance issue with the stock history on high latency network
  • Batch tracking can now be re-enabled for products for which it was incorrectly turned off, making inventory and stocktake inconsistent
  • REST worker processes/CLI no longer crashes when making a request when the database is temporarily locked for an extended period
  • Bank Reconciliaiton UI now allows for over 32767 transactions per statement
  • Improved transient filesystem error handling while closing a document on Windows (retry for more types of errors)
  • Bonjour browser password autofill refills correct password on change of selection
  • Updated to and fixed issues with 10.14 SDK (Mac)
  • Fixed recent URL shortcut login for older MoneyWorks Now documents (created pre-v8)
  • VAT Guide supports Making Tax Digital (UK)
  • 1099 (US) statement form added to Express
  • Fixed some misformatted diagnostic errors
  • Fixed a concurrency issue where Batch Creditor payment electronic export could potentially select extra transactions for export
  • New diagnostic repair to fix inventory for non-serial-tracked stock that has had serial numbers used in transactions
  • Fixed flaky object resizing in forms designer on Windows
  • Improved window sizing behaviour on Windows when the screen aspect ratio has changed
  • Fixed mouseover highlighting in Preview on Mac
  • Stepping through Creditor Partial Payment dialog now reselects text in the pay amount field
  • Scripting:
  • Transaction and user key images in forms: The “product” Picture object may optionally contain transaction:seqnum or key:keyval (or product:code). If there is no prefix, then then a product code is assumed.
  • MWScript: LogMemoImmutable function
  • MWScript: LoadScriptFile function can load an ephemeral script from a file (either a .mwscript text file or a .mwblob archive of scripts)
  • Autoremoval of commands installed by InstallMenuCommand or from the Scripts folder now does a better job
  • Save script as XML now respects the script’s current enabled status
  • Activity code and Analysis labels on the Job Sheet Entry window now have symbolic references for scripting
  • The JSON_Get function now supports booleans
  • File_Open now supports CACHE/ and TMP/ filename prefixes when creating files for writing. The location will be a private cache folder or a temp directory.
  • Fixed several issues with forced loading of document scripts in command-line mode.
  • Fixed Pad function sometimes padding with a random character when no pad character supplied
  • Custom lists created with InsertListObject no longer receive continuous ItemHit messages while the mouse is held down down. One ItemHit will be sent on mouseup. The old behaviour can be achieve using a mode of fListMode_ContinuousItemHit.

New in MoneyWorks Cashbook 8.1.5 (Dec 18, 2018)

  • Several fixes for Analysis reports that ask for a search code when run
  • Scroll wheel now works on date fields again (Mac)
  • Job sheet entries from transactions now use transaction description if the detail description is blank (v8 regression)
  • Bank statement import: Fixed a problem with importing multiple payments to the same creditor
  • Daily Summary dashboard report performance optimisation (could be quite slow with many unposted transactions)
  • Dashboard Overview Debtors graph now correctly handles foreigh currency accounts receivable
  • Fixed Find related destination views for Receipts ➝ Details et al
  • Fixed data corruption when Job Sheet item is created from a transactions with very long detail description
  • Fixed a problem with window sizing on very small (unsupported) screen sizes on Windows. I guess that means they are semi-supported
  • Holiday Updates: Holidays to 2024
  • Fixed potential crash (reported on Mojave) when canceling emailing of report
  • Age by Due Date Report: Remove fixed NZD currency label
  • New Job Allocation report
  • Fixed the initial recording of Buy/Sell checkboxes for new sticky notes
  • Fixed enabling of Reports menu subfolders after modifying Document Preferences on Mac
  • Partitioned user and system mutexes, and ensured autorelease of mutexes held by a client that loses its connection to the server (so Script Editor edit lock mutex now releases when Logged out due to idle connection)
  • Fulltext Transaction Search now includes Freight docket field
  • Updated Job detailed report
  • Fixed crash when clicking Edit for an error in an Unload script while closing document (Edit is no longer available in that situation)
  • Fixed heap buffer overflow in InsertListObject
  • Form autosave no longer generates thumbnails while autosaving
  • Fixed Memo importing
  • Added Contact Person importing
  • 64-bit update to internal Mac Console component that was still 32-bit
  • Scripting improvements and bug fixes
  • New Script editor now remembers scroll position of each script that has been edited in the session
  • Scripting: GetActiveListRow function now works for selectable lists
  • Scripting: User static text fields on transaction entry screen no longer format as numbers
  • Scripting: Fixed crash with SetListContents on an active editable list (Windows)
  • Scripting: Fixed crash with long running script that causes sticky notes to be displayed (Windows)
  • New MWScript Dawdle(winRef) handler called periodically (10 second intervals) for custom MWScript windows
  • MWScript: Fixed CloseWindow() modality failure if it executes asynchronously while a modal window is up
  • MWScript associative array keys no longer truncated to 31 characters (63 allowed).
  • Resizing in Forms and UI editor: alignment guides now align to the edge not the mouse location within the drag handle
  • Script editor autosaves all scripts periodically
  • Lookup() function works for dates/numbers in Jobsheet
  • New MWScript new function: TransferFunds(from, to, date, period, ref, analysis, desc, amt [, recAmt]). Creates a funds transfer payment between two bank accounts. recAmount must be supplied if the banks are different currencies. Each amount is specified in that bank’s currency. The return value is the sequence number of the payment transaction.
  • New Optional boolean parameter to Trim: Trim(text, true) to trim all whitespace (newlines and tabs, in addition to the normal ASCII 32 space)
  • New MWScript DateFormTimestampMacEpoch date format to get a numeric timestamp from a date/time (albeit as a string, when used with DateToText)
  • New You can get the read-only status of a record entry window using pseudo-field -3 with GetFieldValue
  • SetFieldValue no longer returns an error for overlay fields when the window is in read-only state due to the record being locked
  • Removed forced numeric formatting on T_USRTEXT fields in transaction entry window
  • MWScript: ReleaseMutex function now only allows releasing mutexes obtained by the calling client
  • New MWScript File_Path(fd) to get the full path of an open file (that was opened with a partial path)
  • Resizing a custom list column in a custom window no longer has deleterious effects on window resizing
  • Preliminary support for autoloaded script bundles
  • Find Selected (Find Again) now works correctly in Script Editor when script contains multibyte unicode characters
  • Scripting: UI Form buttons set to be disabled are now actually diasbled when form is instantiated
  • Commands added to the Command menu by scripts are now cleaned up properly when the scripts unload
  • CLI: No longer use libedit/readline when CLI stdin is connected to a pipe (since it can get into an infinite spinloop
  • CLI: diagnose command no longer requires credentials to open the file when the document is opened in read-only mode (using -oe diagnose)
  • Server improvements:
  • New Datacentre: REST API for server administration. Supersedes the old web admin interface which is removed
  • Datacentre: Configurable cliSemaphoreTimeoutSeconds and cliLingerSeconds to control REST worker lifecycle
  • Datacentre: Reworked port allocation on Windows to not make connections to existing running databases, resulting in spurious SSL error log entries
  • Datacentre: Tidied up SSL connection code
  • Mac Datacentre server no longer automatically sends a shutdown advisory to running databases when the service is stopped (database servers abandon their process group)
  • Server operations that create transactions now set user initials for EnteredBy correctly
  • Datacentre Backups: Pictures folder was not backed up when company name ended with a dot
  • Serverside debtor aging was setting incorrect Aged_At date in log file when client and server were on different platforms. This would cause prolems for subsequent statements that relied on that date being stored accurately
  • Fixed the attachment name for statements generated on the server for emailing
  • REST Server: some changes to Server: header
  • Emailing server-generated statements now picks up email addresses for statements that go over one page
  • Statement form thumbnail creation (which uses live data) can now run on the server, greatly improving performance when latency is high
  • The idle-disconnect alert no longer suppresses all background redraws on Mac

New in MoneyWorks Cashbook 8.1.4r1 (Aug 24, 2018)

  • Fixed a crash that affected reports with certain kinds of charts
  • Fixed a potential crash in scripts that iterate over text files when an invalid file path is supplied (Windows)

New in MoneyWorks Cashbook 8.1.4 (Aug 22, 2018)

  • New Transdate today/remember preference is now separately settable for transactions and orders
  • New Scripting: SetTaggedValue() function
  • New Datacentre Console Broadcast All function to send a message to all logged-in users of all active databases
  • Performance Age Debtors now runs on server when latency is high for significant performance increase
  • Mac: Fixed an issue with inappropriately-enabled menu items during startup
  • Fixed budget importing to not be confused by thousands separators
  • Report/Form autosave is now invoked before testing out the report
  • Fixed APS Accountant Export format (broken by changes to transaction export in 8.0.4)
  • Fixed calculation of gross for import of orders with separate freight amount
  • Windows: Fixed positioning of autocomplete dropdowns and sticky notes on HiDPI screens
  • Windows: Fixed rendering of autocomplete on std resolution monitor when main monitor is High DPI
  • Windows: Fixed initial transaction list coming up as non-MDI (modal-style) window in some circumstances
  • Datacentre: First REST request of the month (before any user has loged in) can now auto-open period
  • Windows: Fixed sticky note rendering with HiDPI monitors
  • Fixed unexpected security level filtering in non-password-protected documents
  • Bank Rec: Fix enabling of Cancel toolbar icon in Select mode
  • Importing Sales Orders against cash customers now supported
  • Name.country fields may now be up to 63 characters
  • Windows: Fixed Cashbook/Express Outlook integration
  • Fixed Highlighted-Only control enabling in Aged receivables report
  • TableAccumulate function optimised for large tables that happen to be built in sorted order
  • Print to clipboard on Windows now putting unicode text on the clipboard
  • Job Form now allows full length of Category fields to be entered
  • Fixed filter syntax checking for Product/Name record methods such as SOHforLocation
  • Sped up startup on Windows when updating plugins (now delete old plugins instead of asking the shell to move them to the trash, which is very slow on Windows 10)
  • Pad(): now returns an error for unsupported pad lengths
  • Windows: Transfer Funds window is now correct size on HiDPI screen
  • Fixed a potential crash on Windows when resixing edit lists
  • Timesheet by Resource no longer spurious department code if the resource cost account is departmentalised
  • Uninstall option now showing in Add/Remove Programs on Windows 10
  • Auto-formatted custom columns no longer reformat numeric codes as numbers when left aligned
  • Saving invoice to PDF file now sets printed flag
  • Fixed buffer overflow in script editor with very long lines
  • QIF import no longer tries to record overpayments for foreign debtors uing the auto-pay invoice rule
  • Auto-repair missing registry keys for COM on Windows after a major WIndows 10 update
  • Emailing server-generated statements from Preview window no longer uses previous email message
  • Addressed potential for crash when exiting script handlers whose window has been closed while the handler executed
  • Fixed pasting of unicode text into Budget spreadsheet on Windows
  • Scripting: persistent property of date type now retains time granularity
  • Scripting: persistent property of text type is no longer limited in length
  • Analysis with ‘Ask for search code’ can now run on the server
  • Custom reporting: PeriodNum report variable is now available in SetupReport handler on the server
  • Selecting a department from choices list in Account Enquiry after using a wildcard to invoke the choices now inserts the selected department as expected
  • MYOB AO export now strips returns embedded in descriptions — embedded returns were preventing the file from importing to AO
  • Cashbook fixed exception in auto allocation rule setup when editing complex rules
  • Fixed potential crash in auto allocation rule setup when editing complex rules
  • character tax codes now look up rate properly when changed manually in detail line
  • Full-text search: The sort order is now reapplied if the full-text search completely reasonably quickly
  • Orders now always default to today’s date
  • Increased size of index cache
  • Optimisation to Diagnostic for documents with many ledgers
  • Report writer: Fixed a crash thatcould happen when changing a for-loop with multilevel sort to a different table
  • Build Command: 8.1.3 was not calculating the new the cost price for built items
  • Stock units longer than 3 chars no longer being truncated
  • Tax Codes longer than 3 characters no longer being truncated (or failing to look up rate when manaually changed) in some entry screens
  • Auto fill for departmental accounts now shows department options after pressing hyphen key
  • Auto allocation rules with amount terms now remember the relational operator correctly
  • Datacentre ASP mode should not longer impose incorrect folder metering when there are stale pid files after a server crash/reboot
  • Payments History: performance improved for high latency network connections
  • MYOB AO exporter now filters inch symbols (since the format is quoted CSV)
  • Cash Flow Statement: Now includes explicitly tagged journals
  • Singapore Customer Accounting: updated reports and default tax codes
  • Custom bank statement importer scriptss may now be located in Custom Plugins as well as standard
  • AddStatementTransaction() function now applies autoallocation rules to the transaction
  • Windows Datacentre now collects service crash dumps on 64 bit platform
  • Plain invoice—Now includes remittance advice text from Company Details
  • Datacentre Console Show Active Documents now excludes folders with no active documents to make the active ones easier to see
  • Custom form list objects can now display data from any table in the database
  • Remote single-pass import no longer strips tabs from the rejected records file
  • Scripting: Custom window static text controls now apply formatting to numeric data
  • Sales enquiry by name was excluding cash sales in the monthly totals for enquiries executed on the server—fixed
  • Datacentre: fixed product image deletion
  • DoReport function with output to preview now works when report is generated on the server
  • Fixed flickering cursor over form list items (Mac)
  • Fixed user role window size on MoneyWorks Now
  • Demo purchase links in MoneyWorks now load secure site
  • Balances window column names now display properly on HiDPI screen on Win10
  • Fixed memory leak in APFS folder traversal
  • Job.custom5 to 8 now available on import map
  • Ask() popup title width corrected for on HiDPI displays on Windows
  • Job Detailed report settings had an underscore in Highlighted Only control for no good reason
  • Default login list window size is wider to accommodate all columns better
  • Login.Usertext may now be set from a script with WriteCurrentRecordForWindow()
  • Scripting: Disabled lists no longer get clicks and key events
  • Fixed receipting of full amount of invoices with non-expired PPD
  • Datacentre/REST: Additional fix to interpretation of headers with non-canonical case
  • Report charts now respect cell font/size
  • Fixed typo in subscription expiry alert

New in MoneyWorks Cashbook 8.1.3 (May 7, 2018)

  • New Stock transfer journals may now be imported. The importer expects a non-product contra detail line to populate the contra field (do not import the contra account into the contra field—journals do not use that field).
  • New Having the user’s email address override the Reply-To when sending email via SMTP is now optional. This is particularly relevant to MoneyWorks Now users who are obliged to have a user email address. You can turn off user email reply-to substitution on the user record in Users & Security
  • Fixed some inconsistency in word wrap in reports between server- and client-generated reports (Windows server)
  • Fixed sign-adjustment when switching between Writeoff and Transfer journal
  • Opening report in Excel now works when the report title contains a $ character (Windows)
  • Exporting a report to text no longer applies hard word wrap in cells
  • Replace may now be used on Job.EndDate
  • Fixed crash in XML import when XML file begins with a utf-8 BOM
  • File → Import → XML now reports any errors rather than failing silently on errors
  • Account Enquiry movement list now shows transaction colour (single-user mode)
  • Payments History All list now sorts as it claims to be
  • Payments History All list no longer gets a Sequence Number Mismatch error when you drill down and change the value of the indexed field (typically date) that the list is sorted by
  • Stock Enquiry now shows lines from transfer journals
  • Build Product no longer resets the found set in the products list
  • New Audit → Backdated Transactions report: New option to show prior year transactions and posted
  • Age by Due Date Report: Corrected for case of future periods being open already
  • Fixed Period Name/Year Name corruption in files that were originally created from an Empty Clone of an older file
  • Fixed GST Report crash with 5-character tax codes
  • Fixed pasting of multi-line text from external editors into Script Editor on Windows
  • Fixed crash in WriteCurrentRecordForWindow() function when second parameter is not of the correct type
  • New GetActiveListColumn(listRef) function to determine which column of an editable list has keyboard focus
  • New GetActiveListRow(listRef) function to determine which row of an editable list has keyboard focus
  • Relational sort on a target field smaller than 4 bytes now works again (broken in v8)
  • Fixed cosmetic issue in Login dialog when switching between login modes with more options shown
  • Fixed spurious logged error on Datacentre whenever a REST request caused a document to be opened
  • Auto Allocations: Fixed multisplit allocations of non-percent values
  • Ledger Report: Fixed run time error when run for periods where there is no data
  • New GST on Prescribed Goods: invoice form (Singapore)
  • New GST on Prescribed Goods: Modifications to F5 and Tax Table (Singapore)
  • New South African VAT rate increase from 14% to 15% on 1 Apr: updated default rate table for new documents (South Africa)
  • Datacentre subscription: Revalidate button now reports error if the subscription server cannot be reached due to firewall or outdated operating system security (TLS 1.2 support must be enabled on old versions of Windows to support subscription-based licensing)
  • V7 file conversion no longer truncates description fields longer than about 750 characters
  • Stock Transfer journals now always post at the current average unit value
  • Fixed crash when starting a new MoneyWorks instance via AppleEvent while the current one is converting a large v7 file
  • Fixed buffer overflow in batch debtor receipts with very long (imported) customer name
  • Customer/supplier names up to 255 characters now supported
  • fixed a typo in the user entry dialog
  • Stock On Order displays now more consistent (previously relied on expected receive qty rather than order qty less previously received qty)
  • Updated OpenSSL to version 1.0.2o
  • Fixed window layering issue on Mac with Import Budgets
  • No longer include OTF fonts in font menu on Windows because they do not work with PDF generation
  • Fixed a crash in the report part editor dialog
  • Report maximum line length increased

New in MoneyWorks Cashbook 8.1.2 (Jan 25, 2018)

  • Fixed auto-allocation of payment to invoice in bank statement import when there is an outstanding invoice for the wrong Name typeIf you are importing bank statements you should install this update
  • New Updated GST F5 Guide (Singapore) for customer accounting on supply of prescribed goods
  • Fixed pluralisation of paid invoices count indicator
  • Cosmetic fix to Use two-tier HST checkbox (Canada)
  • New Scripting UI support for card billing scripts
  • Scripting: Fixed URLCallback enabling

New in MoneyWorks Cashbook 8.1 (Dec 7, 2017)

  • Datacentre: Include Unposted no longer fails due to unposted transactions being open for modification (in the case of Account Enquiry, this failure would be silent). It is, however, now possible for an unposted transaction to be partially included if changes to it are saved during running of a report (this is highly unlikely though, and considered the lesser of two evils)
  • Fixed a rare server crash in Bank Reconciliation finalisation with a slow network. Also slightly improved performance for good measure
  • Datacentre: Nightly save and backup for a document that is held open continuously overnight now moves the backup to the configured backups location as expected (Mac)
  • Age by Due Date report: Added breakdown by categories
  • An unfinished progressive Find in a list is now cancelled when you double-click a record in the list to modify it (actually any of Modify, New, Delete, Duplicate)
  • Fixed several issues with bank statement import and coding
  • Bank statement import now offers to open periods if necessary (if single-user mode is available)
  • Datacentre: Improved performance of bank statement import — especially evident on a high-latency network
  • Datacentre: Improved performance of transaction validation and saving — especially evident on a high-latency network
  • Datacentre: Improved performance of inventory transaction saving — especially evident on a high-latency network
  • Deleting a selection of transactions is now stoppable
  • Database tweaks to support future functionality
  • Stock History Report updated: Fixes error if run using selected locations and highlighted only
  • Scripting: Fixed crash when 4th parameter to Insert[Edit]ListObject function is not text type
  • Scripting: GetCodeField function now works properly for Name codes (supplier type parameter was not being received)
  • Scripting: Allow changing of current tab in product/job/name entry when exiting a field
  • Scripting: Scripts may replace Jobsheet.destranseq
  • Scripting: UI overlays now display correctly on HiDPI screens on Windows
  • Scripting: Fixed a potential crash in GetFieldValue (Mac)
  • Scripting: SetFieldValue can be used to change a tab control from an ExitedField handler
  • Scripting: Scripts can be copied to clipboard as RTF to retain syntax colouring (Mac)
  • Scripting: MakeGUID() function
  • Scripting: URLCallback calls must now be requested using a WebViewControl option
  • Scripting: Expat-based XML parsing functions XML_ParserCreate(), XML_SetElementHandler(), XML_SetCharacterDataHandler(), XML_Parse(), XML_Free()
  • Scripting: The DoReport() function may now take an optional extra parameter prefer_remote=1 to prefer running the report on the server even when latency is apparently low
  • Script editor now selects the bottom-most enabled script when opened (was selecting the preceding script)
  • Bank Reconciliation Start Over now refreshes transactions that are scrolled out of sight (Mac, cosmetic)
  • Stock History Report now accounts for Discounts on Stock Purchase Invoices
  • XML export now has the option of using .mwxml as the file extension
  • Journal Entry: Using shift-tab after entering last credit no longer sets the detail gross for that line to zero
  • Updated about box copyright date
  • Fixed drag-and-drop of images into Products (Mac, 64-bit)
  • Scripting: ReadCurrentRecordForWindow now returns correct value (as colour name) for colour fields
  • Product history list now shows transactions in colour for network clients
  • Fixed some spurious logging (Error 9) on server
  • Fixed button enabling in Order Processing dialog after selecting unbilled account
  • List printing now remembers preferred scale factor (Windows)
  • Fixed a problem with Script Editor autocomplete popup windows never closing on High Sierra
  • Form Layout dialog was not refreshing when new dimensions were entered (Mac)
  • Fixed a performance problem with syntax colouring in the script editor with very large scripts (Mac)
  • Save a Copy as Clone: Changed wording on dialog to better indicate that the balance date is end of financial year
  • Work around CURL error 35 on older Windows versions when accessing https
  • Single company Datacentre now autoselects first doc when none is specified
  • Fixed potential crash with a certain malformed search expression in a report

New in MoneyWorks Cashbook 8.0.8 (Sep 1, 2017)

  • Apologies, but we have discovered that Datacentre 8.0.7 was delivering a beta Gold 8.0.8 client update for some users.
  • Fixed Datacentre client updates
  • Also:
  • Fixed chain reports crash when run on server
  • Scripting: Extended the picture object to hold a PDF on Windows

New in MoneyWorks Cashbook 8.0.7 (Aug 30, 2017)

  • Fixed Batch/Serial entry from the serial picker (broken in 8.0.6)
  • Transaction type toolbar icon width is scaled properly o Windows HiDPI
  • Optimised drawing of editable lists (in general, but partcularly helps when carat is being animated on Mac)
  • Disable Customise List View in Product Inventory Location list because it is not customisable
  • Additional validation of per-user preferences that may have been corrupted on upgrade
  • MYOB AO export file modified to pick up the accountant codes for the departmentalised accounts
  • Mac alerts will no longer risk a stale disconnect if the server stale client timeout is set to a minute—you shouldn’t do that anyway
  • Fixed truncation of overlong unicode input
  • Fixed Document Preferences glitch when the previously-set WIP account no longer exists
  • Prevent changing or deleting an in-use default WIP account code
  • Scripting: Approvedby1 and approvedby2 fields are now script-mutable
  • Scripting: Scripts may now mutate UserNum, UserText, TaggedText, ApprovedBy1 and ApprovedBy2 in Posted transactions. Alos, setting values for these fields via WriteCurrentRecordForWindow in the Validate handler will force an After phase and saving of the record even if no other fields have been modified.
  • Added serialTrackingEnabled global variable
  • Added detailDateColumnEnabled global variable
  • Scripting: User entry window overlay now properly sets the width of the window
  • Scripting: User entry window now receives ItemHit messages
  • Scripting: Fixed parsing of multiple safe paths in the preferences
  • Scripting: GetFieldValue now returns the current URL from webview
  • Scripting: Fixed an issue with programmatically filling in a serial number from an ExitedCell handler
  • Scripting: UserLoggedIn handlers no longer called twice when opening a local document
  • Improve login performance for MWNow servers
  • Bill Job: job sheet items with zero sell price were not getting correct qty sign
  • Transaction Search Box: Now supports detail full text (not just description)
  • MWNow handles uploading of new files better when the filename contains punctuation characters
  • Product list sell price was not rendering correctly on Datacentre for European number formats
  • Fix posting crash with 31 character product codes
  • Purging: Count of number of transactions not processed for GST no longer includes orders
  • Forms Designer: Fixed wiping of font styles when adding sections
  • Forms Designer: Can no longer delete every section in a form (which would crash)
  • Replace command now works for Name.Colour
  • Fixed stability problems with pasting accounts from clipboard
  • Stocktake: When stocktake adjusts serialised stock to zero, the inventory records are now deleted. If you have serial or batch items showing with zero stock, just start and stop a stocktake to get rid of them.
  • Scripting: Fixed crash associated with imported images in a picture object
  • Transacton Entry: Long tax codes(> 3) are no longer truncated
  • Fixed crash when shipping Sales order with locations
  • Fixed a resource leak when serverside reporting aborts include unposted
  • Can now convert v6 files directly
  • Fixed random crashing after importing transactions via import map (8.0.4 bug)
  • Deleting contact 1 and/or 2 now clears those contact fields in the Name record

New in MoneyWorks Cashbook 7.1.5 (Jul 24, 2014)

  • Datacentre:
  • MoneyWorks Now login service is now live
  • MoneyWorks Now usernames longer than 31 characters are now supported
  • Folder deletion from Datacante Console now more reliable
  • Datacentre Console folder usage report now counts attachments properly
  • Datacentre now supports intermediate certificates for SSL
  • Improved behaviour of server upload facility when user has no hosting folder to upload to
  • Installing scripts ftom mwxml now flushes to server when installing as Datacentre client
  • Datacentre daemon interconnect now uses 127.0.0.1 rather than hostname on Windows
  • Datacentre compatibility with Mac OS X Yosemite (no longer use /usr/libexec/StartupItemContext)
  • Datacentre Console can now handling Unix line endings in .pem block pasted from (e.g.) Notepad++ on Windows
  • Datacentre Console on Mac now detects and sets ownership of data folder contents more reliably
  • Datacentre Console on Mac now installs Gold client more reliably when needed following manual install
  • Simultaneous REST list requests no longer kill moneyworks_datacentre.exe on Windows
  • MoneyWorks Gold now recognises wildcard SSL certificates in Datacentre
  • Windows Datacentre service now restarts automatically on failure
  • Datacentre Console folders/files list no longer erroneously allows multiline selection
  • CLI/REST doreport with bad period now flagged as soft error
  • updated moneyworks-rest manual page
  • REST request against non-existent document no longer causes hung worker processes on server
  • MoneyWorks Now servers now accept whitelisted file types only via Upload facility
  • Improved SSL protocol support and removed weak ciphers for better security
  • Windows server better respects requested font for reports
  • Shorter initial connection timeout when connecting to non-existent server
  • Lengthened network timeout to reduce incidents of disconnects when someone is doing a remote save/backup for very large files on slow servers
  • Improved filename sanitisation for files unarchived on Windows that originated on Mac (containing * or ?)
  • Mac no longer forcing .txt extension on bank export files
  • Job Sheet: pasting a job sheet record that results in a stock requisition now includes the job number in the journal analysis
  • Bank Register Report now shows correct open/close balances for forex accounts
  • Cosmetic fix for Mac OS X Yosemite (disclosure triangles)
  • Payments History redraw no longer lost after retrieving results from server
  • Search box no longer crashes if used while entering stocktake figures on Windows
  • New intrinsic function: WriteToTempFile(text). Returns path to new temp file
  • Importing accounts with update now updates the colour field
  • Parameters to external() no longer limited to MAX_PATH on Windows
  • Windows Script Editor no longer steals ^T and ^L keyboard shortcuts for its own nefarious purposes
  • XML Journal Export now gets correct signs for credits
  • Optimised standard statement forms for better performance with head office accounts
  • Improved caching performance (particularly affects price relookup for very large sales orders)
  • Updating budgets for ledgers found in the budget editor using Find now works
  • Added new RCM code for Singapore as requested by IRAS (it is not actually used anywhere)
  • Unreachable url in foreach on Windows no longer throws up an open file dialog
  • Electronic payments are now stamped with bank account when exported from batch creditor payments
  • Windows Gold no longer exits when given unknown command line switch
  • Increased the maximum record size that can be imported
  • Canonical export formats now use larger buffer so that very large records are not truncated
  • Updating date fields via XML import now works
  • GST Report: Shows description on Currency Balancing Lines as required by IRAS
  • Manual GST control account journals are now stamped by GST finalisation
  • Dispatch code for viewing a jobsheet record from Navigator
  • Balance Sheet report currency popup now behaves properly
  • Fixed a crash in Find() function with an empty delimiter param (this was killing the stocktake report)
  • Don’t show Windows executable types in Mac Command menu
  • Tweaked the layering of multiseries line charts to put the primary series on top
  • Bundle style Applescript apps now showing in command menu again
  • Account Enquiry “include unposted” no longer affects reports run while enquiry is still open
  • Originating Order Sequence Number is now set for order deposits
  • Job Billing window resource leak fixed (leaked selection object)
  • Cosmetic fix to popups on Mac (sometimes bottom edge was not being drawn)
  • Bill Job: Carried forward job sheet items now get invoice date if it is changed prior to accepting the invoice
  • Bill Job: discarding invoice with carry-forward entries will no longer potentially remove other entires created while the invoice was open
  • say() function no longer crashes when used in command line mode
  • Duplicating a Funds Xfer payment now clears the FundsXfer flag (which allows the duplicate to work with Cancel Transaction)
  • Updated OS version detection on Mac to work with Yosemite

New in MoneyWorks Cashbook 7.1.4 (Jul 24, 2014)

  • Allow CreateSelection with *highlight, *found to apply to the Batch Creditor Mark For Payment window, and also to apply for previously unsupported files such as filters, messages and depts
  • Improved column calculation suppression for calcs that are not practical for high latency networks
  • Implemented override for column calculation suppression
  • Save command issued from script editor now flushes changed scripts before saving
  • Script Editor Help lookup now works for text that follows multibyte unicode text
  • Cache speed optimisation
  • optimised network packet decoding a bit
  • Cheque form editor: removed obsolete Cheque.DrCrCode identifier
  • Fulltext search by custom colour name now works consistently on Datacentre
  • Batch Creditor Payments, Electronic Payment Method missing bank warning icon was not showing on Mac
  • MWScript: declaring loop control variable with same name as existing variable no longer crashes the compiler
  • Job Detailed Report updated
  • Run on Server is now ON by default for new reports
  • Overlong manual log entries no longer crash
  • Cash Forecast updated
  • IRAS Audit Report (Singapore) updated
  • [critical] Windows typing =calc in a field was not doing expected processing when field exited
  • Better error message when opening a .mwxml without any accounts document open
  • Applescript Helper.scpt now more stable when quickly tabbing through fields
  • Added copies of purchase analysis reports back into main report menu
  • Console queries now shut down ssl connection in orderly fashion on Windows, eliminating spurious errors in log
  • Serverside analysis reports now work with Windows-hosted server
  • Updated tax codes for Singapore
  • Fixed hyperlinks in Datacentre Admin Guide pdf
  • Analysis reports can now run serverside on Windows server

New in MoneyWorks Cashbook 7.1.3 (Jul 24, 2014)

  • Windows: Period popups were not syncing after changing a date to a different month

New in MoneyWorks Cashbook 7.1.2 (Jul 24, 2014)

  • Much faster opening of orders on network
  • Restored 32-bit support to Mac Datacentre
  • Windows pasting xml records from clipboard no longer throwing a spurious “malformed xml” error
  • Fixed a glitch in script editor syntax colouring that could change the selection while typing
  • Now run on Windows 2003 server (was erroneously being flagged as unsupported unpatched XP version)
  • Script Editor on Mac no longer changes the editor font after cutting/deleting the entire script text
  • Script Editor auto-backup now goes into std plugins not custom
  • MWScript loop control variables can now be used as sub-loop range params
  • Validation settings: “reapply” checkbox now works
  • Fixed errors thrown by some reports running on Cashbook/Express (Cashbook and Express can now use all possible default joins when running reports)
  • No longer erroneously request nameless password resource from keychain on Mac when connecting (could cause system keychain unlock request if system keychain contained an unnamed password resource)
  • Removed Build fields from Product advanced search nametable (caused crash in syntax check if used)
  • Fixed nonfunctional/crashing SortListByColumn() intrinsic function
  • View department dispatch code for navigator
  • Fixed a resource leak in choices windows
  • Fix custom controls whose names end with a colon (broken by the new custom control validation syntax in 7.1)
  • MoneyWorks Now: access granting username/email check more robust
  • MoneyWorks Now: save the newly set Require Password setting before uploading document to cloud server
  • MoneyWorks Now: enable Login button after password change warning for autocreated account
  • Disable email address changing while MWNow access is granted (ungrant to change email)
  • Fixed crash if attempt to create MWNow account while uploading a file to MWNow
  • Fixed a rare startup crash when looking for navigator extras
  • DC Console usage report generation: display alert if user has no write perm to create report (happens if user is not in staff group on Mac)
  • Set Run On Server option for Executive Summary in Dashboard Reports
  • Fixed unreliability of report library scripts when running on server
  • Better Add Part icon on BOM entry screen
  • Fixed fatal error that could happen when deleting an invalid part code line from BOM

New in MoneyWorks Cashbook 7.1.1 (Jul 24, 2014)

  • Helper.scpt applescripts that implemented UserLoggedIn with no return value were aborting login
  • UserLoggedIn not being sent to MWScript scripts as documented
  • Applescript error messages containing “{}” were getting mangled
  • Fixed a potentially crashing buffer overflow in the report generator
  • Fixed a potential crash in script editor/compiler when dot notation used on for loop control variable for a textfile
  • MWNow shortcuts no longer try to autologin if the password is not in the keychain
  • Multilaunch was not working on 7.1 Windows
  • Copy/Paste records on Windows was not working for non-ASCII data
  • Transaction.DeliveryAddress was not mapping to own address for purchases

New in MoneyWorks Cashbook 7.1 (Jul 24, 2014)

  • MoneyWorks 7.1 does not run on XP SP2 or earlier.
  • New features and performance enhancements:
  • MoneyWorks Now distributed cloud login support (and moneyworks://now/username url scheme extension).
  • Datacentre: Encrypted connection option. This can be enabled by supplying an appropriate SSL certificate for the datacentre service.
  • Extension to moneyworks URL scheme: moneyworks://ssl/ will connect with SSL.
  • Datacentre: Upload local file to server feature (includes the full custom plugins folder with images for the document (it will be merged with any existing custom plugins in the destination server folder, rather than replacing it).
  • Datacentre: saving a backup to client is now cancellable and supports larger backup files.
  • SetReportColumnWidth function can now be used within a report (within reason) (see Details report).
  • Windows Vault password storage—optionally store your server/document passwords in Vault and have them entered automatically.
  • Datacentre: “Send logs to support” option for server troubleshooting.
  • External(“helper”, …) function allows calling out to external helper programs from MWScript. For security, these must be installed in the Standard plugins/Scripts folder in App Support. Helper executables will not be loaded from Custom plugins.
  • Improved the caching performance for loading transactions (and eliminated a spurious log message).
  • SetPersistent() function can now be used to delete records by omitting the (last) data parameter.
  • Payments History is now considerably faster when used over a high latency network connection.
  • Some privilege names (used with the Allowed() function) have changed to make them unique.
  • The scripting privilege name changed from “Execute External Scripts” to “Scripting”. Since v7, no privilege is required to execute external scripts; rather external scripts are generally subject to the same privileges as the logged-in user. The “Scripting” privilege controls access to the script editor for writing, activating and deactivating scripts, and also the ability to interrupt a running script or disable script loading at login.
  • Statement generation performance has been improved by about 30% when run on a high-latency network connection. Note that statement list search functions should no longer prefix transactions fields by the table name—just use the field name. Using the “transaction.” prefix will suppress the performance optimisations.
  • Automatically suppress overly expensive column calculations on high latency connections
  • Navigator “exec” code to call mwscript public function
  • Added an alert on Windows when printer names are not sufficiently unique (they must be unique in the first 31 characters to be reliably differentiated).
  • Datacentre: Recurring transaction creation is now always done on server for improved period-opening performance
  • Import via COM now supports xml data
  • Job: Replace command now allows replacement of job.ordernum
  • Empty moneyworks:// url with no server may now be used to start a new instance without throwing up a “server not found” error.
  • Imporintg Jobs. Work-it-out is now supported for xml import of new job code
  • Navigator: It is now possible to append panels to the standard navigator by placing them in a “Navigator Extras” folder within the custom plugins folder.
  • Singapore GST: New tax code
  • Datacentre Console ASP mode usage reporting
  • Datacentre Console now allows a start port to be specified for database servers
  • Mac 7.1 now built with Clang instead of GCC
  • Gold client will now detect “machine is about to sleep” and disconnect from server if possible
  • MWXML files are now passed to the first instance of MoneyWorks even multilaunch is on (Windows)
  • Scripts can force a refresh of the Navigator using Navigator(“refr”)
  • Script access to column names containing symbols now possible (use _ for % in Disc % column)
  • Plugin download from server now displays a progress bar (in case connection to server is slow)
  • Returning zero from a UserLoggedIn script handler will now reject the user login. This makes it possible to implement script-based access control for users (e.g. time-of-day access control etc).
  • Can now import budget job sheet entries
  • Datacentre backups of files in subfolders now incorporate the subfolder path in the backup file name to prevent collisions
  • Custom text fields may now have autofill/code validation by appending a colon and the table name to validate against to the text label
  • Added Malaysia tax rates
  • Fixes
  • Sales Enquiry movements list no longer shows payments on invoices for the customer; just sales.
  • Datacentre: searching by colour now uses colour names from preferences.
  • Transaction Details report now includes totals by transaction type again.
  • Fixed a long standing problem that caused DNS/SD (Bonjour) records to lose some information (this would manifest as enabled user/password fields for servers which did not require them).
  • Fixed a crash that could happen in rare cases when adding a new record to a list sorted by a non-indexed field.
  • Fixed an “illegal lock extension” error that could happen in Payments History in some circumstances.
  • Fixed a cosmetic glitch when turning on/off the Show Typing option for password fields on Mac.
  • Disable the Refresh option for report Previews after a network connection is closed.
  • Datacentre: ignore control characters in REST requests.
  • Fixed crash in SetReportColumnWidth when Use Standard Report Width is turned off
  • Fixed privilege testing in number of standard reports
  • Search optimiser could choke on public script function calls
  • Fixed parsing of adjacent mail merge fields in form text boxes
  • Fixed error when adding an item to a build recipe and changing the recipe order
  • Fixed Express/Cashbook error in on-the-fly account creation from product entry window
  • Fix spurious error when copy/pasting accounts on Windows
  • Show log file toolbar command could sometimes crash after a script error in a transaction entry handler
  • Fixed overdue creditor invoices warning display Navigator
  • Importing a product build now works if the product did no already have “we build it” set (it sets it for you)
  • Fixed an issue with custom plugins being downloaded from server too often
  • Hitting ’9′ key in navigator no longer selects the first folder
  • PDF generation with non-PDF-std fonts no longer fails if Windows is not installed on C: drive
  • Added page break in Cash Forecast
  • Fixed a problem with disconnecting idle clients from Datacentre introduced with v7.0
  • Mac Datacentre Console ownership/permissions check now more reliable
  • Importing new job with work-it-out code now respects Job/Quote/Invoice syncing
  • Fixed problems with launching certain external executables on Windows with paths containing spaces
  • Product BuyPrice default format if added to list view is now more sensible
  • Plain Statement fixed
  • Script editor syntax colouring improved when pasting and when comments contain unicode characters
  • Importing (unicode) text copied from Excel on Windows now works reliably
  • Usage text in Windows CLI
  • Datacentre install on Windows now quotes the service executable path
  • Fixed Cashbook Windows crash on Find Related Trans -> Name
  • Detail report not printing account description (fixed now)
  • EC Sales report (UK) showing incorrect country code (fixed now)
  • GST report run on server with output = Print was crashing
  • Std Balance Sheet report no longer defaults to Include Unposted
  • Speech now reliably enabled on Windows
  • CLI login with folder and doc password no longer fails where doc password is blank
  • Custom transaction format now working again
  • Ledger report, description field now word wrapped
  • Stock receipt journal was bad if stock received is zero
  • Fixed a potential race condition with opening documents on Datacentre
  • Importing General Journal transaction no longer evaluates work-it-out for tax
  • OrderTotal now updating more reliably when order freight code changed
  • Compatibility with flaky MKAbel font that has a visible return character glyph (Mac)
  • Fixed a security issue with external scripts
  • Enabled validation functionality on Name.Salesperson field
  • Transaction.MailingAddress now loads reliably in invoice forms

New in MoneyWorks Cashbook 7.0.9 (Jul 24, 2014)

  • Fixed a potential crash when using Analysis reports with long file names
  • Fix crash on stocktake list when entering the search box from an active stock count field
  • Fix TLS SMTP email on Mavericks
  • Fix UK Prompt Payment Discount calculation when there are non-discountable items on an Order
  • Fix error when cancelling a transaction from the Bank Reconciliation on a network
  • Fix a crash on Windows when turning on Heading Only checkbox for some account types
  • Fix a problem with posting the necessary adjustment when a stock item with Append Salesperson on the Cost of Sales passes from negative to positive stock on hand (and also for the write off journal when stock was received ahead of the invoice). For both of these cases, the last department code in the relevant group will be used. If you encounter the situation with any regularity, you may wish to add a department specifically for these adjustments so that they don’t go against a salesperson. Use a code that is alphabetically/lexically the last in the group.

New in MoneyWorks Cashbook 7.0.8 (Jul 24, 2014)

  • Aged Receivables/Payables: Speed improvement and fixed omit-zero-balances for retrospective case
  • Fixed a crash when statement importing window is left empty
  • Fixed an accounts setup crash with the Malaysia locale on Cashbook
  • Datacentre Console windows are now centred
  • Datacentre Console will now check for unrestored session files before allowing an update
  • Datacentre REST server SSL mode fixed
  • Datacentre log file rotation on Windows now working
  • Fixed Caseware export
  • Fixed Calculator launching on Windows
  • Job Detailed report no longer shows processed PO in the unprocessed list
  • Canada Purchase Sales Tax drill down arrows were not drawing on Mac
  • Fixed crash in Save a Clone when transaction list open
  • Fixed a subtle problem with Backorders: PO processing failed to drop back-ordered lines if Sales Order option “Include Backordered” is turned on
  • Cosmetic fix to news feed on Windows

New in MoneyWorks Cashbook 7.0.7 (Jul 24, 2014)

  • Critical fix for Datacentre GST/VAT finalisation: repairs mis-finalised GST/VAT on earlier v7 releases
  • Aged Receivables/Payables fixes and restored missing functionality
  • Sort order fixes (note: to retain list sort order, use the Highlighted Only option)
  • Drill down to transactions from aged totals
  • Retrospective report for highlighted selection
  • Fixed error with manual aging when there are overpayments
  • Multi-line text objects in forms on Windows were sometimes clipping final line
  • Find by field now preserves a “does not start with” search when invoked again
  • Bank Rec Summary list of unposted transactions was not printing correctly
  • Software update setup was unstable with extremely verbose long date formats
  • Calculation dialog box syntax check error alert Edit button now works correctly
  • Calculation dialog box syntax check error alert could crash for very long unknown idents
  • Cashflow Report: updated
  • Corrections to Datacentre Admin Guide
  • Time Sheet Entry: By Resource: Was not including first line in Qty total
  • Fix crash on Mac if user disallows access to address book after choosing Import Address Book
  • Fixed a problem with printing “posted movements by period” report from Account Enquiry for range
  • Fixed Hold checkbox clicking when Transaction window is very small
  • News feed in navigator sidebar now showing properly
  • Fixed occasional crash on startup during background software update check (Windows)
  • Updated Job Detailed report

New in MoneyWorks Cashbook 7.0.6 (Jul 24, 2014)

  • Fixed an issue with taking an unposted transaction off hold in the Bank Reconciliation
  • Fixed a problem with the Replace command in the tax rates list (no replaceable fields)
  • Selecting currencies with long names had a buffer overflow
  • Reports now switch to running on server dynamically as the connection latency varies
  • GST report settings are now passed correctly to the server
  • Fixed a potential crash when optimising certain images in forms on Windows
  • COM/OLE script error reporting now more reliable
  • Bank accounts with long account names: buffer overflow in transaction entry
  • Fixed rare random crash exiting taxcode column in item transaction on Windows
  • Transaction Entry: Copying a product code field on Mac was behaving as if the code had been changed
  • Ledger Report: now shows to/from
  • Ledger Report settings highlighting tweak
  • Better handling of overpaid deposit for non-credit customer orders
  • Fixed Mac installer window titles for Express and Cashbook
  • Account Enquiry movements printing reinstated as for v6
  • Passwords were not working on the 7.0.5 build of Exp/CB

New in MoneyWorks Cashbook 6.1.3 (Nov 30, 2012)

  • Fixed crash when sorting by custom column in bank reconciliation
  • Report export no longer has double newlines
  • Foreign currency writeoffs now account for GST correctly
  • Orange Name drilldown arrow was nor displaying correctly
  • Jobsheet.sequencenumber now available in analysis reports
  • Partially shipped item codes in a Sales Order are no longer disabled (so you can enter the field and drill down)
  • Fixed a rare crash in ttansaction entry
  • Fixed a possible crash when importing malformed CSV
  • Fixed minor memory leak on Mac when mousing over list highlight/found count display
  • XML Transaction Imports are now atomic for rollback
  • REST server no longer exits when clients fail to read responses
  • Duplicate item code error on REST import now gives correct error message
  • Fixed Prompt Payment Discount for UK VAT case
  • Added Datacentre code signatures for compatibility with Mountain Lion firewall
  • Worked around sandbox issues with Mountain Lion Mail that prevented attachments form working

New in MoneyWorks Cashbook 6.1.2 (Sep 11, 2012)

  • Bug fixes:
  • Windows: serverside navigator dashboard reports now render with correct page size
  • WIndows: Message box when minisimised no longer hangs UI
  • Cash Basis reporting was sometimes still being invoked after being turned off
  • Fixed issue with running footers in reports sometimes not appearing on last page
  • CreateSelection/IntersectSelection functions were crashing on Windows
  • Document Preference: When altering an item master record pref is now global, not per-user
  • ADJ tax rate and tweak to BAS Guide (Aus)
  • Added page numbers and a couple of critical backslashes to the uninstall instructions in Datacentre Admin guide
  • Removed spurious small floating window that sometimes appeared on Windows
  • Fixed potential heap corruption on transaction entry with no (or invalid) detail lines
  • XML Transaction Import: Fixed problem importing multiple transactions with heavy use of work-it-out fields
  • Importing Transactions: Fixed spurious "Negative prices are not allowed" message for DI
  • Stocktake journal no longer mangles std cost for non unity conversion factor
  • When assigning an existing list to a field, right clicking on the list of lists no longer has a spurious Replace cmd
  • Fixed a potential heap corruption when double-clicking item in Open Recent list in Welcoe screen
  • IRAS report update (Singapore)
  • Fixed Commission Report failure in locales with non-period decimal separator
  • Fixed intermittent crash when updating std plugins (Mac)
  • Fixed issue with deleting Unbanked account
  • Fixed a rare random crash on startup (Mac) when looking for local custom plugins folder
  • Increased the maximum number of recurring transactions from 500 to 5000
  • Fixed issue with unused reference numbers being lost when discarding a transaction using the window close box
  • Aged Creditors now ignores filter on Names list when reconciling to ledger
  • DC Console was not getting Admin privs when launched as non-admin user (Win 7 64)
  • Aged Receivables report settings was sometimes showing a spurious date field
  • Autofill from history was being randomly disabled on Datacentre
  • Update Time web app to v1.0.1
  • REST reporting 500 instead of 404 for no image found
  • REST: GET image/transaction now works
  • Fixed crashes when zero data in report graph
  • Fixed CLI export crash on windows when filtering by privilege
  • Windows DC Console: Apply Changes now restarts server
  • Documents on Datacentre login list now shows enclosing folders on Mac
  • Stock Creation Journal: std cost was incorrectly calculated for unit-converted items
  • Increased maximimum PPD Discount Days (was max 127)
  • Import: Fixed broken User file importing on Windows
  • Fixed issue with Sticky notes not displaying sometimes (Windows)
  • Fixed MW Express freeze attempting to print jobs list
  • Fixed issue with Stickies not showing when stepping through selection (Mac)
  • Buffr overflow in Aged Receivable Report (long theirref field) was causing report to exit early
  • REST: Windows server now recognises / directory separator (as well as \)
  • REST server now cleans up worker threads where client failed to read the output
  • Export to Excel no longer includes style sheet (which caused Excel to mangle fonts)
  • Fixed problem with Find function in calculated column breaking sort optimisation for other columns
  • Fixed glitch with PO numbering after entering a journal and switching transaciton type on entry screen
  • Fixed CLI crash when parameters are not valid utf8
  • Windows. Negative format nolonger includes a space after '-'
  • Express/Cashbook product entry buy/sell checkbox behaviour was sometimes flaky

New in MoneyWorks Cashbook 6.1.1 (Sep 11, 2012)

  • Recurring Sales Order now resets backorder properly
  • Recurring orders no longer create recurring invoices
  • Stock receipts before invoice now use average stock value rather than order value
  • Modify Selection eith option for single-user code updating now releases lock properly
  • Applescript/VB export command respects "xml" as a special format string
  • Importing QIF/QBO now works in locales with decimal separators that are diffeent from the format used in the file
  • Report writer syntax checker was crashing on Name.Comment
  • Express Mac: Display transaction image cmd not appearing in popup menu
  • XML import work-it-out for transaction details now works
  • XML import now displays and highlights imported records
  • REST: Server header reports server platform
  • Reports: For Each can iterate over lines in a file retrieved via http
  • Fixed problem where cheque run did not properly increment cheque number sequence after run in single user mode
  • Fixed a potential hang or crash in cheque run
  • Printing Product Pictures on Forms: Aspect ratio was wrong (6.1, Mac)
  • Exit more gracefully if server closes connection while in cheque run dialog
  • Chain Reports were not loading custom control values
  • Datacentre Console: Show users that are logged in
  • Datacentre Console: Broadcast message to logged in users
  • Report Writer - changing Font on multiple selected parts now respects existing attributes (Windows)
  • Importing Transactions: Now longer allow negative value for detail.unitprice
  • Export detail.unitprice: now 4dp
  • Custom calculated column in bank rec was crashing
  • Export report to text no longer emits a spurious blank line at the end
  • Form groups not working for forms with file extensions (Mac)
  • Remittance Advice email addressing dialog was not saving changes to subject text
  • Acme Widgets was throwing a spurious error in stock journal entry

New in MoneyWorks Cashbook 6.1r5 (Sep 11, 2012)

  • Addresses some issues with the 6.1 release
  • Mac Datacentre installer should now more reliably migrate previous installs
  • Closing document was resetting app preferences
  • Using a REST serial broke serverside reporting (Datacentre)
  • Fixed a crash wwith certain transaction import maps
  • Custom report controls of type date were instantiating as text instead of date
  • Option-modify of job in multiuser was not allowing job code to be changed
  • Forms designer column editor no longer shows Always Calculate checkbox
  • Show menu in toolbar now displays tick marks for enabled options again
  • Lookup() funciton is more resilient to bad parameters
  • Mac Datacentre now works when the server's DNS is incorrect
  • Further fix to importing transactions
  • Fix to importing jobs
  • Mac open file dialog was not recognising some text files
  • Some helper scripts were failing on Windows
  • Addressing direct SMTP emails via contact buttons now immediately enables Send button when addressed

New in MoneyWorks Cashbook 6.1 (May 3, 2012)

  • New features:
  • REST API (Datacentre):
  • Provides an HTTP/HTTPS-accessible application programming interface making integration with other networked systems much easier, as well as platform neutral
  • Includes mobile reporting web app. Run Datacentre reports from your smartphone
  • Includes mobile invoicing web app. Enter invoices from your smartphone
  • Add your own web/javascript applications that interact directly with MoneyWorks databases
  • Added printable copies of the dashboard charts to the reports menu
  • GST Report now breaks down by currency (Gold)
  • XML importing and exporting (Gold, Datacentre)
  • Other changes:
  • Enquiry product code entry fields now more spacious to accommodate long product codes
  • Mac versions now always add file extensions to files you save.
  • Mac versions now hide file extensions of filename in window titles and menus
  • Window behaviour on very small screens on Windows (e.g. 800x600 netbook screens) is now greatly improved. Although note that the official system requirements call for a 1024x768 minimum screen size
  • Cashbook now asks to replace a report of the same name when installing by double-clicking
  • Navigator now updates GST status after running a GST report
  • CLI doreport now takes size param to specify font size
  • XML exporting now preserves whitespace as CDATA
  • Evened up margins of Balance Sheet report, and improved behaviour of Currency popup when there are no currencies
  • We no longer query the Windows address book for auto-filling email addresses (Windows address book dll(s) just too unreliable)
  • Prompt Payment Discounts now applied to invoices generated from sales orders
  • Open/close period command now persistently redisplays message about single user requirement for the benefit of people who ignore the initial one
  • Name.Hold field is now available in Replace/Advanced Replace
  • Save a Clone As now clears budgets
  • Import data string via AppleEvent had an 80,000 character limit on the string. This limit has been removed (actually changed to a megabyte)
  • Tweaked NZ GST Guide: The Mode menu has been replaced by a "Show Documentation" check box, which if checked displays the documentation on the first page and the actual report thereafter. So you will always get a result regardless of the Documentation setting (a source of some confusion).
  • Report writing and calculations:
  • New intrinsic functions CreateSelection() and IntersectSelection() plus new For Each loop variant in report writer that iterates over the result of these functions
  • Functions that take a search expression as text now have access to the enclosing scope's identifiers when the expression is evaluated
  • Val() function. Takes a text string containing an expression. Returns the result of the expression. This provides a way of deferring the evaluation of expensive calculations on either side of an If function.
  • Import() function now returns the sequence number of the last record imported (for tables where this is supported). -1 is returned if the import failed. Note that using this function to import into tables other than USER is very strongly discouraged.
  • Report writer Find Ledger part: A relational search expression may now include variable identifiers from the report
  • Intrinsic functions that take a search expression parameter now have access to identifiers from the enclosing scope
  • Cashflow report setup dialog box now makes it clear that All banks mode operates only on base currency bank accounts
  • Duplicate Product now keeps Manufacture and AutoBuild settings
  • Sales order process to cash sale now captures payment method/details
  • Datacentre-specific:
  • Opening a new period with very large chart of accounts is now much faster on Datacentre due to being executed entirely on the server.
  • Serverside reports now use the locale of the user who installs the software (Mac)
  • Console UI now responds to arrow keys
  • Console seems to leave zombies of chmod and dcproxy
  • Fixed Console control visibility when deathenticating (Mac)
  • Datacentre console now only runs a single instance, since it makes no sense to ever run a second instance (Windows)
  • Console warns against using mapped network drive letters in paths, since these are not accessible to server (Windows)
  • Console now verifies that Gold installation matches server version (Mac)
  • Log rotation. Several logs are now kept in rotation
  • Bug fixes:
  • Critical: Prevent posting of transactions that are open elsewhere for modification (it has been possible to open the same transaction twice).
  • Budget editor better handles pasting data containing blank cells
  • Fix deletion of validation lists (could unexpectedly delete all validations lists)
  • Fix sorting by Ledger.Concat field in report writer for-loops
  • Navigator Show Item List now shows all, not just inventoried items
  • Cosmetic fix to list sidebar resize drag area on windows
  • Budget editor Distribute command properly refreshes selected cell on Windows
  • Email via SMTP can now handle contact names containing ampersands (Mac)
  • Fixed loss of precision when importing/exporting product unit conversion factor
  • Fixed problem with restoring backups of files with long file names
  • Notes shown for a transaction now close when clicking Next
  • Highlighting newly added record now works more reliably when keyboard focus option for lists is enabled
  • Transaction note window now closes when Next button is pressed
  • Receive Stock Before Invoice no longer allows negative quantities to be received into inventory
  • Receive Stock Before Invoice now uses average unit price instead of value on purchase order for stock creation jnl
  • Negative purchase of stock now use correct costs if an item appears twice with negative quantities
  • Session recovery no longer fails for a tax rate change in a newly created file
  • Custom report/form drill down to another report now determines types for custom report parameters
  • Job sheet item created for a job prepayment (via an invoice) now matches the sign of the quantity to the amount
  • Product entry custom validation glitch with revalidating fixed
  • Product update-importing no longer allows control accounts to be cleared
  • Command line client now recognises colour names when importing
  • Budget Editor: Pasting data from spreadsheet with empty cells now treats empty cells as if they were 0
  • Improved unused reference number reuse when closing transaction window using window close control
  • Importing Transactions with Create Jobs option. Job code is now sanitised
  • Payments History now behaves better when transactions have been purged
  • Fixed a running balance glitch with negative balances in the Balance History from Date statement
  • Various fixes to transaction reference number allocating
  • Validation List Items: Can be entered as 15 characters, but only 14 characters are ever displayed
  • Next with post option was skipping posting
  • After emailing a PDF, Save as PDF no longer gratuitously emails as well
  • Parsing of 4 digit numbers for dates (ddmm or mmdd) is again supported on Mac
  • Prevent negative unit conversion factor for products
  • Order Prompt Payment Discounts now respect discountable flag in accounts when creating invoices
  • Typo fix in Prompt payment Discount prefs
  • Fixed privilege for Accept Deposit on Sales Order
  • Purchase Order: Backorder qty is now populated by default
  • Purchase Order Rounding: OrderTotal sometimes disagreed with total
  • Reports menu was sometimes not enabling in subsequent instances when multilaunching (Mac)
  • GST report: Fix date format to prevent truncation of dates
  • Export no longer gratuitously populates mailing/delivery addresses for transactions
  • Fixed crash with copying of records in validation lists
  • Fixed a CLI crash when -r parameter was too long
  • Trial Balance: Print Movements is now correct for forex accounts
  • Fixed a potential crash when cancelling out of Work-In-Progress choices when Job costing being activated
  • Bad relational search error now flows back to report interpreter and result in an error alert
  • Product Importing: calculated cost price now respects currency of buy price
  • Address book import now handles large numbers of groups (Mac)
  • Cashbook: Fixed missing resource error when opening file from Gold/Express
  • Product Images: don't allow uploading of pdf product images on windows
  • Plain emailing through system client. Subject no longer overrides message
  • Validation: now displays custom message when reapplying custom validation after a record i modified
  • Fixed a "client illegally extended selection lock" error
  • Fixed an issue whereby sorting by calculated column could fail for calculations involving nested strings
  • Cosmetic fix to the Duplicate Multiple dialog box
  • Fixed typo in Trades sample chart of accounts
  • Creditor Invoice writeoff was not reliably rejecting *-rated writeoff accounts
  • Fixed crash when deleting account with 7 character code