Release Notes
A record of changes to the Accredo system. Each release note outlines the updates, fixes, and enhancements included in the latest versions, so you can track what has changed over time.
Accredo A90 – Version 9.0.104
New Feature
CB - Cash Book
Bank Feeds is a new extension for Accredo Version 9, licensed on subscription, that connects a Cash Book bank account to the bank through Akahu. Bank transactions are imported into Cash Book statements every morning, dated by the bank's processing date and carrying the bank's own closing balance, with a prompt when new feed lines arrive and email notification if an import fails. It needs the Cash Book and Web Service modules.
When a new bank statement is inserted, its Last Statement Date and Opening Balance now come from the account's latest statement in the same or an earlier period, dated on or before it, including statements that are still open. Previously only closed statements were considered, which gave the wrong opening balance whenever an open statement sat in between.
WS - Web Service
Bank Feeds is a new extension for Accredo Version 9, licensed on subscription, that connects a Cash Book bank account to the bank through Akahu. Bank transactions are imported into Cash Book statements every morning, dated by the bank's processing date and carrying the bank's own closing balance, with a prompt when new feed lines arrive and email notification if an import fails. It needs the Cash Book and Web Service modules.
Improvement
ALL - All Modules
Several display-scaling problems are resolved. Custom forms now open at the scaling of the main window so they no longer appear oversized over a remote desktop session on a high-scaling primary monitor. The Help window scales to the monitor it is shown on.
The current Application Size now shows as a percentage on the title bar, between the zoom out and zoom in buttons. It updates as you change the zoom, and follows the zoom buttons for visibility and colour scheme. Double-click the percentage to reset the Application Size to 100 per cent.
The Action Bar gains Inventory entries and a better product search. IC Issue, IC Credit and IC Receipt each start a new Inventory transaction of that type and appear in the Add menu, respecting the IC settings that control which transaction types may be entered as well as user permissions. IC Adjustment and Manufacture batches can now be opened by number. Product search tries an exact Bar Code match after the exact Product Code match before falling back to the word search, so a scanned barcode opens the product directly. Batch and transaction inserts driven from a MaxBasic script now perform the insert instead of opening an empty form.
The buttons on report and document selection forms, Save Selections, Options, Printer Settings and Run, now sit under the selections at the left of the button panel instead of being aligned to the right edge of the form. On a large screen, and when running maximised or in tabbed view, Run is no longer a long way from the selections you have just made. The button order is unchanged.
AP - Accounts Payable
The Purchase Order List now opens with both Order and Request for Credit ticked, and the Shipment List opens with both Shipment and Credit Return ticked, so credit documents are shown by default alongside orders and shipments. This matches the Invoice List, which already shows Credits by default. Previously each list opened showing only orders or shipments, and the credit type had to be ticked on every visit.
CB - Cash Book
Cash Book statement lines are now kept after a statement is closed, controlled by a new Retain Statement Lines (Months) setting on the CB Settings General tab, which defaults to 12 months. Reopening a statement gives back its lines as imported, with the bank's own wording, and a repeated bank feed import can recognise transactions it has already brought in. Setting 0 deletes lines on close, as before.
Cash Book End of Period now removes the retained lines of closed statements dated more than the Retain Statement Lines (Months) setting before the end of the period being closed. The statements themselves stay, and reopening a statement whose lines have aged out rebuilds them from the transactions.
CO - Company
The Action Bar now understands more of what you type. A module code followed by a term searches that module's main file (for example AR Smith finds customers named Smith, and IN on its own opens the Invoice list), a trailing colon on the search type is ignored, shortened or misspelled type words such as Custom or Invocie are recognised, and Sales Order and Fixed Asset are accepted. When a search fails the hint now names the unrecognised term, explains how to set a Default Search Table, and leaves the text selected so you can retype.
IC - Inventory Control
The Product form has a new All Prices button beside the Price Date field, also available with Ctrl+A. Turn it on to clear the Price Date and list every active price, which helps during a price changeover when you may be invoicing at old prices and quoting at new. Turn it off to return to the previous date and show only the prices in effect on that date.
MB - Max Basic
MaxBasic now accepts the VBA numeric type keywords Integer, Long, LongLong, Byte, Single, Double, Currency and Decimal in a DIM or REDIM ... AS clause, treating each as a synonym for Number. MaxBasic has no separate numeric subtypes, so no range or overflow behaviour is implied. Scripts written in VBA style now run without renaming the types, and existing scripts are unaffected.
MaxBasic scripts can now run Action Bar actions directly. The new ExecuteAction function takes the same text you would type into the Action Bar (Ctrl+Alt+K), such as "Customer ASHENG" or "Show Banking Summary", applies the same permission checks, and opens the record, list or form. It returns True when something opened. Companion functions ActionResultKind, ActionMessage and ActionMatches report what happened, the reason a call failed, and the list of matching records when the text matched more than one.
Text added to a MaxBasic scripted form with ShowText is no longer spaced too far apart on a monitor scaled above 100 per cent. A grid added with InputGrid no longer renders detached to the right of its grid navigator at high scaling. Scripted form labels also keep their width when the dialog is moved between monitors of different scaling, instead of becoming progressively narrower and wrapping or clipping.
Memo lists are now available as list entities in the web service and as list data objects for MaxBasic scripts, one for each module that holds memos: Accounts Receivable, Accounts Payable, Inventory, General Ledger, Cashbook, Job Costing, Fixed Assets, Company, Invoicing, Order Entry and Purchase Orders. Where a memo is attached to a master record, the list row also carries the account name and status, so a memo list can show a name rather than only a code. The existing memo entities are unchanged.
Text that a script writes into a memo or narrative now keeps its line breaks when the content type is Markdown, and a blank line now shows as a gap between paragraphs. Previously the whole text ran together on one line.
PO - Purchase Orders
The Purchase Order List now opens with both Order and Request for Credit ticked, and the Shipment List opens with both Shipment and Credit Return ticked, so credit documents are shown by default alongside orders and shipments. This matches the Invoice List, which already shows Credits by default. Previously each list opened showing only orders or shipments, and the credit type had to be ticked on every visit.
RE - Report Engine
Opening or duplicating a report layout from the navigator is now much faster when the layout has a saved sort. Previously the saved sort was applied while the layout loaded, which read the whole detail table and made layouts such as the AP Expense Analysis Detail slow to open, particularly over a network. The sort is now assigned without being applied, so opening a sorted layout reads no more data than opening an unsorted one.
SQL - SQL
IMPORTANT: The web service has a new OData list String Comparison Behaviour setting in WS Monitor Settings maintenance, with Match 8.0 behaviour (case-insensitive), New behaviour (case-sensitive) and Warn on difference, the default, which refuses a list filter with an error naming the conditions whenever letter case would change the rows returned. Filters on upper case fields, such as customer codes, now match a lower case value on all endpoints.
Accredo SQL now accepts the standard comma form of the REPLACE function, REPLACE(source, search, replacement), as well as the existing REPLACE(search WITH replacement IN source). Both forms return the same result, and each honours its own argument order. Queries written in the comma form, the form used by most other SQL dialects, no longer fail with "expecting WITH".
SYS - System
Accredo now reopens maximised when it was closed maximised.
Repeated wrong passwords in the desktop application are now slowed down. After three failed attempts in quick succession, each further failure is held for a short delay, starting at half a second and doubling to a maximum of eight seconds. In the System User Login and company login windows the OK button is disabled during the delay and Cancel stays available. Nobody is locked out, and a correct password always logs in immediately. The same delay applies to logins made from MaxBasic scripts and COM automation.
New installations now start with a stronger password policy: a minimum length of 8 characters with upper case, lower case, number and punctuation all required. Existing systems keep their current settings. Adding additional users prompts for the built-in ACCREDO user password to be changed from its default.
WS - Web Service
Timesheet and Disbursement batches can now be posted through their own web service entity sets, matching how Print was already available on all three batch entity sets. The JC Batch List entity returned job records rather than batches; it now returns batches keyed on batch id, and allows a batch to be marked deleted. Insert and update on that list remain refused.
IMPORTANT: The web service has a new OData list String Comparison Behaviour setting in WS Monitor Settings maintenance, with Match 8.0 behaviour (case-insensitive), New behaviour (case-sensitive) and Warn on difference, the default, which refuses a list filter with an error naming the conditions whenever letter case would change the rows returned. Filters on upper case fields, such as customer codes, now match a lower case value on all endpoints.
The web service now marks the string fields that Accredo stores in upper case, in every metadata surface that publishes field-level data: the JSON property metadata, the CSDL metadata document, the OpenAPI document and the generated developer documentation. Fields that are not stored in upper case carry no marking. A client building a filter can now tell from any of those surfaces which fields need an upper-case comparison value.
Validation errors returned by the web service now identify which element of a repeating list caused the failure. Where a request updates several rows at once, such as the location list on a stock product, the error target carries the line number of the offending row, for example Location[lineNo=2].MaximumQuantity, instead of naming only the field. Requests that update many rows no longer have to be checked row by row to find the cause.
Memo lists are now available as list entities in the web service and as list data objects for MaxBasic scripts, one for each module that holds memos: Accounts Receivable, Accounts Payable, Inventory, General Ledger, Cashbook, Job Costing, Fixed Assets, Company, Invoicing, Order Entry and Purchase Orders. Where a memo is attached to a master record, the list row also carries the account name and status, so a memo list can show a name rather than only a code. The existing memo entities are unchanged.
Failed logins to the Accredo web service are now recorded in the System audit log, showing the attempted user code with the source Accredo Web, matching the entry written for a failed desktop login. Repeated failed login attempts from the same address are also slowed down: after three failures in quick succession each further failed response is delayed, doubling up to a maximum of eight seconds. No user or address is locked out, and a correct login still answers immediately.
Bug Fix
ALL - All Modules
Opening a memo, or the Memo List with a memo selected, no longer fails with the error "No mapping for the Unicode character exists in the target multi-byte code page." The error appeared on some Windows versions, including Windows Server 2016, when a memo with Markdown content contained characters such as a degree sign, an accented letter or a non-breaking space and the memo preview loaded it.
AP - Accounts Payable
Fix "Sum of base dissections $XX.XX does not equal base amount $XX.XY" error posting an FX invoice or credit in AR and AP at data level or WebService endpoint.
Fix related "Analysis is incomplete by -0.01" error which may be triggered posting an AR invoice or credit.
With Update Receipt Cost From Invoiced Cost turned on, posting an invoice only shipment no longer fails when the linked receipt only shipment sits in a period that is closed for Inventory Control. Previously the post reported that the document was not in edit or insert state, and a second attempt reported an incomplete analysis. The invoice now posts first time, and the receipt only shipment's costs are left unchanged while its period is closed.
Clicking Print on the AR Apply Terms Results form, shown after running Apply Default Terms from Customer Groups, raised an assertion failure and the results could not be printed. The same fault affected the AP Apply Terms Results form reached from Creditor Groups. Both results forms now print correctly, with the report titles AR Apply Terms Results and AP Apply Terms Results.
AR - Accounts Receivable
Fix "Sum of base dissections $XX.XX does not equal base amount $XX.XY" error posting an FX invoice or credit in AR and AP at data level or WebService endpoint.
Fix related "Analysis is incomplete by -0.01" error which may be triggered posting an AR invoice or credit.
Clicking Print on the AR Apply Terms Results form, shown after running Apply Default Terms from Customer Groups, raised an assertion failure and the results could not be printed. The same fault affected the AP Apply Terms Results form reached from Creditor Groups. Both results forms now print correctly, with the report titles AR Apply Terms Results and AP Apply Terms Results.
CB - Cash Book
Match All on a Cash Book statement could freeze Accredo when a CB rule's match text contained several asterisks in a row, for example a rule created from a bank transfer line such as TO ************1851 where the bank has masked the account number. A run of asterisks is now treated as a single wildcard, which matches the same text, and matching completes immediately. This affected any statement line checked against such a rule.
CO - Company
Flicker on the main window is resolved. The dark grey flash when opening, switching or closing a tabbed form is gone - the main window's own background was showing through the workspace during each form handoff - and so is the flicker in the menu bar and toolbar panels at the top of the window. Maximise and restore transitions no longer force a repaint of the window frame, menu and toolbars.
Inserting a document from the quick-add button or the Action Bar now triggers the After Insert event, so MaxBasic event scripts attached to it run as they do when the document is inserted from its own form. Previously the event was skipped for documents, which could bypass automation or validation attached to it. The same omission is corrected for Job Costing and Inventory batches and for Cash Book transactions.
Changing the customer on a saved quote now follows the Quotes permission in the Invoicing System rather than the Invoices permission. A user with Control on Quotes can amend the customer on a quote they have saved, without also needing Control on Invoices. Invoices, credits and standing invoices are unaffected and continue to follow their own permissions.
EM - Email and HTML editor
Batch emailing over SMTP, such as AR Email Statements, no longer fails with "Command out of sequence" on most emails after the first when the mail server accepts only one message per connection. This was introduced in 9.0.0.103. A failed send now drops the connection, resends the message once, and connects afresh for the remaining emails.
Sending email through Simple MAPI now works with third-party mail clients such as eM Client on machines where New Outlook is present. Previously every send failed with "Simple MAPI is not available. Please select a different mail send option." Accredo also now reports a send that Windows refused instead of treating it as sent, and offers to register the missing Windows MAPI setting (an administrator prompt appears) and then restart. Full MAPI and Outlook behaviour are unchanged.
FD - Form Designer
Printing a report from a custom form no longer raises an access violation when the report run has to rebuild its selection form. The fault appeared where a custom form's grid used an OnCalcCellColors event, and repeated on every attempt.
IC - Inventory Control
With Update Receipt Cost From Invoiced Cost turned on, posting an invoice only shipment no longer fails when the linked receipt only shipment sits in a period that is closed for Inventory Control. Previously the post reported that the document was not in edit or insert state, and a second attempt reported an incomplete analysis. The invoice now posts first time, and the receipt only shipment's costs are left unchanged while its period is closed.
On the IC Component Maintenance Price tab, the Price Group Code column now shows the price group that each price list belongs to when the column is added to the grid. Previously the column was blank.
Merging IC Product codes with Lot tracking enabled on a Mercury system could fail during Post with an error about a missing Location Code field, leaving the merge incomplete. Mercury has no locations or bins, so the merge no longer looks for them, and tracked lot quantities now move to the code being kept. Saturn systems are unaffected.
IN - Invoicing System
On the Charges tab of Invoice Entry and Order Entry, the Shipping grid now fills the remaining space and grows with the window when the Banking grid is not shown, which is the case on systems without the Cashbook module. Previously the Shipping grid stopped part way down the tab with empty space below it and no way to resize it. Systems with Cashbook are unchanged.
Changing the customer on a saved quote now follows the Quotes permission in the Invoicing System rather than the Invoices permission. A user with Control on Quotes can amend the customer on a quote they have saved, without also needing Control on Invoices. Invoices, credits and standing invoices are unaffected and continue to follow their own permissions.
JC - Job Costing
Copy from Estimate in Job Costing transaction batches now carries the estimate line's Cost Centre and Component Code onto the batch line. Previously both arrived blank when the product had no Job Costing defaults of its own, while Product Code, Description, Quantity, pricing and Sales Group copied correctly. This matches the earlier fix made to Job Invoicing.
MB - Max Basic
The OnOpen and OnClose script events on the Inventory Component Of, Product Tracking Quantity and Bin Tracking Quantity forms were offered in Script Events but never fired. All three now raise both events, so scripts attached to them run as expected. A sweep of every other automation form found no further cases beyond the Bin Code form, which is tracked separately.
Inserting a document from the quick-add button or the Action Bar now triggers the After Insert event, so MaxBasic event scripts attached to it run as they do when the document is inserted from its own form. Previously the event was skipped for documents, which could bypass automation or validation attached to it. The same omission is corrected for Job Costing and Inventory batches and for Cash Book transactions.
The prompt text on MaxBasic input dialogs, such as those shown by InputNumber, InputDate, InputBoolean and InputPeriod, is now sized to fit, so a long prompt is no longer cut off or overlapped by the entry box at high display scaling.
The CustomerName and CreditorName properties have been restored on the OE Sales Order Entry, IN Invoice Entry, AR Transaction Entry, AP Transaction Entry, AP Shipment Entry and PO Purchase Order Entry form objects. Custom Forms and MaxBasic scripts written for version 8 that read these properties now work again in version 9. The AccountNameTradingAs property introduced in 9.0.101 remains available.
A custom form opened from a MaxBasic script now stays open. Previously a script-created form that used a dialog border style appeared for a moment and then closed again, so the form could only be used by opening it from Form Designer. Forms opened from a script now behave the same way whether or not Use Multi Monitor Scaling is turned on.
The GenerateSchema function now works on custom tables that have a lookup field. Before this fix it failed with the error 'tblDomain: Cannot perform this operation on a closed dataset' and did not write the schema file.
OE - Order Entry
On the Charges tab of Invoice Entry and Order Entry, the Shipping grid now fills the remaining space and grows with the window when the Banking grid is not shown, which is the case on systems without the Cashbook module. Previously the Shipping grid stopped part way down the tab with empty space below it and no way to resize it. Systems with Cashbook are unchanged.
RD - Report Designers
Setting a picture component's Height in AfterCalculateBand once again resizes the printed image. This has not worked since version 7: the assignment succeeded and read back correctly, but the image printed at its design size.
Pictures in designed documents printed too large when Use Multi-Monitor Scaling was off and the primary monitor was scaled above 100 percent, growing by the monitor's scale factor and running off the page. Screen preview and save to PDF were unaffected.
Greyscale JPEG images, such as a company logo exported from a design application in single-channel greyscale, now render correctly when a report or document is printed to PDF. Previously the image was blank in the generated PDF even though it displayed normally on screen, on paper and in image viewers. Re-saving the image as an RGB JPEG is no longer needed.
RE - Report Engine
A report run to screen no longer fails with a Range check error when the Accredo main window is resized so that very little work area is left under the toolbars. The report preview now opens normally.
SQL - SQL
A 'starts with' search on some text fields returned every record instead of only the records that matched. Those searches now return the correct records, in the web service and in SQL queries alike, and 'contains' and 'ends with' searches were never affected. The fields most likely to have shown this are name and description fields.
SYS - System
Registering the Accredo Sales or Accredo Stock mobile app in Web Client Registration now fills in the version 9 store and app links, and converting a system from version 8 to version 9 refreshes those links on any Sales or Stock client already registered. A system that is already running a version 9 build keeps its earlier links, so re-register the client or edit the links by hand.
Adding a new company built from the demonstration templates could fail with a "Failed to add" warning naming whichever module was last in the list, and the company was not created. New companies now create normally whatever selection of modules is made, and the new company's minimum password length is taken from the system setting.
TD - Table Designer
The GenerateSchema function now works on custom tables that have a lookup field. Before this fix it failed with the error 'tblDomain: Cannot perform this operation on a closed dataset' and did not write the schema file.
WS - Web Service
Fix web service configuration tool doubling the backslashes in the system path each time it is updated.
Setting the non-SSL Admin port to a port that already carries a secure reservation now reports what is actually wrong, instead of leaving the web service unable to start behind a misleading message about another process. A port carries either secure or non-secure reservations and never both, so port 6570, the default secure Admin port, cannot also serve non-secure Admin. The configuration tool can now clear stale reservations left by earlier installations.
Accredo Web Config could fail to open with an access violation while it built the list of Windows services. It now reads the service list correctly when Windows returns it in more than one batch, and if Windows refuses the request the reason appears in the progress panel and Web Config still opens.
New systems now have the Use SSL option turned off by default in the web service monitor settings.
Accredo A90 – Version 9.0.103
Improvement
ALL - All Modules
The Action Bar no longer needs a module code where the word can only mean one thing, so Timesheet and Disbursement now work on their own. Cash Book Deposit, Withdrawal, Transfer and Banking Summary can be reached from the Action Bar for the first time, and where a word is genuinely ambiguous - Transfer in a Saturn system that has Inventory Control - you are offered the choice.
Action Bar wording for Accounts Payable and Accounts Receivable now matches the way people work: AP Invoice, AP Credit, AP Payment, AP Cash Purchase, AP Journal, AR Invoice, AR Credit, AR Receipt and AR Journal each start the matching transaction, optionally for a creditor or debtor you name. The shipment document is now asked for by name - Shipment or Both for a full shipment, PO Invoice and PO Receipt for the invoice-only and receipt-only variants. Note that AP Invoice and a bare Receipt now start a transaction rather than a shipment.
Closing the last open form now returns focus to the navigator, so the Maintain, Tasks and Enquiries tabs respond to the first click. Previously one click was needed to restore focus to the navigator before the tab could be selected.
Changing the Accredo scaling setting now takes effect immediately and no longer requires Accredo to be restarted. Application scaling can be increased or decreased using the buttons in the Title bar.
Starting a document from the Action Bar now finds a customer, creditor or product the same way opening one does. Typing add inv for jones matches the closest record, or offers a list to choose from, instead of putting the text straight into the code field without checking it exists.
Content pasted into memos, narratives, description tabs now keeps more of its structure.
Where Company Settings does not allow the content type to be changed, selecting a Global Narrative no longer overrides it - the narrative is downgraded to the fixed content type instead. The content type is also now shown, read-only, in the narrative editor for document and batch lines.
Switching between and closing maximised tabbed windows no longer causes the other open windows to flash through a minimised state before repainting. Closing a tab is now noticeably faster, particularly with many windows open and on lower-specification hardware.
Fix 64-bit Access Violations in Form and Report Designers
CB - Cash Book
The Delete button on the Bank Statements tab of a Cash Book bank account is now enabled for open statements, subject to permission, matching what the Statement List already allowed.
Merging two Cash Book bank account codes now works. The merge previously failed, reporting that a bank account record already existed with the target code.
CO - Company
Company Settings gains an Allow User Change option beside each Content Type default. Where it is not selected the content type is fixed to the default and shown read-only in the editors, so exports and document report designs that depend on a particular content type cannot be broken by someone changing it on the fly.
Accredo now detects a Windows tel: dialler such as Microsoft Teams and treats it like a phone line, so the dial button beside a phone number, and the Make Call buttons on the Job, Purchase Order and Order or Invoice screens, become available without TAPI and with no setup. The Preferences option is renamed Allow Make Call without TAPI/tel:, and the MaxBasic MakePhoneCall function places calls through the dialler too.
DI - Data Interchange
Importing an Excel worksheet whose sheet name contains an apostrophe or other special character, and which has a print area set, no longer fails with an E4013 Missing exclamation mark error. The worksheet list and the import now read these files correctly.
FD - Form Designer
Image components on custom forms now identify picture files by their content rather than by their file extension, so an image saved with a mismatched extension - for example a PNG named .jpg - displays correctly instead of raising an error. PNG and GIF transparency is preserved, and a file that cannot be read still reports a clear error.
GL - General Ledger
GL Settings, General tab now has an optional Suspense Account field, which can be left blank. When it is set, the nominated account appears in the Clearing Accounts section of the GL Ledger Reconciliation report alongside the existing AR, AP, fixed-asset and stock-purchase clearing accounts, showing its code, name and closing balance. Leaving it blank leaves the report unchanged, and an account that no longer exists is simply omitted.
The GL Report Wizard now checks column numbers before generating, and offers an option to renumber the columns into sequence. Column number defaulting when a field is added has also been improved.
OE - Order Entry
The Action Bar now opens an Order from its Packing Slip number as well as its Document ID, matching the way Invoice already accepts either a document number or an ID.
Typing a bare document name in the Action Bar now opens its list with that document class already selected - Packing Slip shows packing slips, Quote shows quotes, Credit shows credits - instead of the list's own default.
RD - Report Designers
Reports generated from the GL Report Wizard now allow enough vertical space in the band for totals that occupy more than one row, so multi-row totals are no longer clipped in the generated design.
SYS - System
On Licensee Details, the module list on the System tab is now anchored to the bottom of the form, so it grows with the window instead of staying at its original small size.
Upgrading to a newer Accredo version now triggers a build check automatically when the version is higher than the one recorded, so the build warning no longer appears after an upgrade and there is no need to open Help > About to clear it.
WS - Web Service
The web service System metadata endpoints no longer return a 403 when a system has no entities to report; the metadata document simply omits the types and properties collections instead.
Changes made to an existing web service client in File > Web Service > Clients now take effect on the running web service straight away, so regenerating a client secret or editing client settings no longer needs a web service restart before the new details work.
XConv - Mercury2Saturn
The Mercury to Saturn and Saturn to Mercury conversion tools now work against Version 9 systems. Selecting a Version 9 system populates the company list, and running the company conversion no longer raises an exception.
XConv - Saturn2Mercury
The Mercury to Saturn and Saturn to Mercury conversion tools now work against Version 9 systems. Selecting a Version 9 system populates the company list, and running the company conversion no longer raises an exception.
ZIP - Backup
The 7-Zip compression engine bundled with Accredo has been updated to version 26.02, closing a published security vulnerability in the earlier version. The standalone VSS backup tool has been updated to the same version.
Bug Fix
ALL - All Modules
Input boxes opened from a MaxBasic script were positioned and sized incorrectly on high resolution displays when multi-monitor scaling was enabled. Now fixed.
Selecting a Global Narrative in the Narrative Editor now sets the Content Type on the form to match the narrative being inserted where that is an upgrade - Text to Markdown or Html, or Markdown to Html provided Content Type change is allowed.
AP - Accounts Payable
When keying an AP Credit Return, the pending balance now reduces as the credit is entered instead of increasing. This was a display-only issue; the posted balance always moved in the correct direction.
The due date on an AP Credit Return is now calculated the right way round: a credit takes the credit date, while a negative credit follows the creditor's payment terms.
CO - Company
Selecting a font in Report Preferences no longer raises an access violation in the 64-bit application. This was one of a group of 64-bit addressing faults found in Version 9; fonts can again be chosen and saved normally.
The Navigator once again remembers its width between sessions.
The Permit WebApp button on the Permissions tab of a user now grants the Cash Book permissions the Web App needs, including CB > Reports > Queries, which it previously skipped.
EM - Email and HTML editor
In the Mail Editor opened by printing a document to a Mail Message destination, the cursor is now visible in the To field when the window opens. Previously focus was on the field but the flashing cursor did not appear until the window was left and returned to.
FD - Form Designer
In Form Designer, setting the Table or Memory Table property of a list grid or edit grid no longer raises an Invalid property value error and access violation in the 64-bit application. Grids can again be bound to tables through the Form Designer interface as well as by scripting.
Mouse-wheel scrolling works again on Custom Form edit grids, list grids and data combos. Scrolling in these controls had stopped responding in Version 9.
Connecting a Table or Memory Table to a Grid in Form Designer, or changing the table a grid points at, no longer raises an access violation.
IC - Inventory Control
Saving a product in Component Maintenance no longer fails with a currency error where a price number is mapped to a price list that has since been superseded within a dated price group. This affected companies using Foreign Exchange together with dated price groups.
MB - Max Basic
The MaxBasic AddCompany function now works. It takes an optional fourth CompanyType parameter - Live, Test or Demo, defaulting to Live - which was previously never set, so every call failed reporting that the Type field must have a value.
Script output larger than 2 GB no longer fails. A script that printed roughly a billion characters previously raised a range error and left the output window blank, losing the output with no message.
PP - Purchase Pricing
Running a Special Pricing or Purchase Pricing Rule List, including from Tasks and from the Rule List Designer, no longer raises an access violation in the 64-bit application.
RD - Report Designers
The ICTransfer document report design supplied with the Version 9 install no longer reports CrLf not found when printed. The shipped example design has been corrected; any customer copy taken from the earlier version will need the same correction.
RE - Report Engine
Printing a grid to Excel no longer fails when the grid includes a timestamp column such as Created Timestamp. Previously Excel reported that the NumberFormat property of the Range class could not be set, and nothing printed.
SA - Sales Analysis
Running a custom Sales Analysis report no longer raises an access violation.
SP - Special Pricing
Running a Special Pricing or Purchase Pricing Rule List, including from Tasks and from the Rule List Designer, no longer raises an access violation in the 64-bit application.
WS - Web Service
The web service now returns the intended 401 Unauthorized, with its WWW-Authenticate header, when a request carries an expired or invalid token on any of its listeners rather than only the admin one. A request to an unregistered endpoint returns its error instead of leaving the caller waiting for a timeout.
A web service Special Pricing enquiry no longer fails with an Open failed JCCTRL.PDB error in companies that do not have the Job Costing module installed. The enquiry now runs correctly whether or not Job Costing is present.
The web service action metadata endpoint no longer fails when one action's field domain cannot be resolved, and a single action can now be fetched by name instead of downloading the whole catalogue.
XConv - Accredo Conversion
Converting a Mercury company to Version 9 now carries the Shipper Code across on Invoicing invoices. The version 7 to version 8 conversion step was not registered in Mercury, so the Shipper Code was left blank on every invoice that crossed that step and a File Recovery was needed to fill them in. Companies that have already converted still need that File Recovery run.
ZIP - Backup
Restoring a company from a backup now fails with a clear error when the drive holding the temporary directory does not have enough free space for the extracted data. Previously the restore reported success while silently leaving files out of the restored company.
Accredo A90 – Version 9.0.102
Improvement
ALL - All Modules
In the Action bar you can now type a table name such as APCONTCT or ARCAT1 as an alias to jump to the matching masterfile, document list, or form. Previously only some table names were recognised.
IN - Invoicing System
The web service now exposes customer delivery addresses as a standalone entity that can be created and updated directly, controlled by the dedicated Delivery Addresses permission rather than requiring full Customer access. This lets an application save a delivery address from an invoice or order without granting broader customer maintenance rights.
MB - Max Basic
Period-by-period balance history is now available through the Accredo Web Service and MaxBasic scripts. A new read-only Balance sub-object on customers, suppliers, GL accounts, jobs, assets, bank accounts, products, and analysis codes returns the same balances shown on each record's Balances tab, allowing the Web App and integrations to display and graph balances over time.
OE - Order Entry
The web service now exposes customer delivery addresses as a standalone entity that can be created and updated directly, controlled by the dedicated Delivery Addresses permission rather than requiring full Customer access. This lets an application save a delivery address from an invoice or order without granting broader customer maintenance rights.
WS - Web Service
Period-by-period balance history is now available through the Accredo Web Service and MaxBasic scripts. A new read-only Balance sub-object on customers, suppliers, GL accounts, jobs, assets, bank accounts, products, and analysis codes returns the same balances shown on each record's Balances tab, allowing the Web App and integrations to display and graph balances over time.
Setting up a Web Service API client that uses the Client Credentials grant now requires a client secret. The secret is shown only once when it is generated and is then stored in a secure one-way hashed form, so it can no longer be retrieved afterwards. Any existing Client Credentials clients will need their secret regenerated.
Bug Fix
ALL - All Modules
Resolved an error that could occur when resizing the File Recovery recovery log (Setup > File Recovery > Resize Recovery Log).
IN - Invoicing System
Fixed the Reprice Invoices task so that repricing credits with Cost Price and Cost ID selected now clears the cost ID lock on the credit lines and updates them to the current cost price.
MB - Max Basic
When a MaxBasic script sets the narrative text on an Information or Description tab (customer, supplier, product, asset, job or payroll), the tab now updates on screen straight away rather than only after the record is saved. This applies to tabs using the Markdown or HTML content types; plain text already behaved this way.
RE - Report Engine
Document report designs now apply the font set on an expression component to Markdown content, matching the existing behaviour for the Text and HTML content types. Headings and bold text keep their emphasis but now use the design's chosen font.
WS - Web Service
Fixed the OAuth authorization step, which previously used a hardcoded service root and failed for any service root other than the default. Authorization now uses the service root configured for your site.
Fixed an issue where the web service could fail to generate its OData metadata, returning an error, when a company's batch email send option was set to Full MAPI. This prevented tools such as LINQPad or Swagger from loading the service; metadata now generates correctly regardless of the batch mail setting.
XX - Install Scripts
Windows 8 / Server 2012 and Windows 8.1 / Server 2012 R2 systems are officially unsupported for Accredo Version 9. Registry settings can be applied to allow Accredo 9 to run on those systems on the understanding that it has not been tested and is not supported for O/S related issues on those operating systems. Without the registry settings on a pre-Windows 10 system, Accredo 9 shows an "Operating System not supported" message and exits.
Accredo A90 – Version 9.0.101
New Feature
ALL - All Modules
Version 9 adds a free-form Action Bar in the main window's title bar that opens lists, opens records directly by code or document number, runs word-searches with a multi-match dropdown when needed, and inserts new records via action verbs such as Add or New. Searches respect installed modules and user permissions, errors appear as a hint balloon on the search box, and a per-user Add button and default search masterfile give quick access to the records and actions you use most.
Narrative Editors across Accredo now support formatting — bold, underline, headings and other common text formatting — with three content types selectable per narrative block: plain Text, Markdown, or HTML. Markdown and HTML narratives display as formatted text on screen and print as formatted text in designed Reports and Documents; report layouts print the raw source. A new Default Content Type group on the Company record sets the default for new narratives, with separate settings for Memos, Information & Description tabs, and Narrative Lines. Allow change selections control whether the default is enforced. All existing narrative content carries forward as Text on upgrade. Accredo's bundled example designed Reports and Documents have been updated to render Markdown and HTML; other designed Reports and Documents may need updating.
WS - Web Service
Add document insert endpoints.
Return JSON for report layouts in the WS.
Added OAuth 2.1 support.
Improvement
ALL - All Modules
Layout Names are not forced to be unique, unique identifier is LayoutID. Display Layout ID when customising report layouts. For scripting Report Objects Layout property now accept either LayoutName or Layout ID. AddToReportList options record the ID instead of the name.
Add t/a Trading Name to Customer and Creditor Names in Headers and Captions where Trading name is specified.
Add Find and Replace support to Narrative editors.
AP - Accounts Payable
Purchase Orders now supports a Request for Credit document class controlled by a new Credits permission, and AP Shipments adds Credit Return, Credit Only, and Return Only. Create Shipment from a Request for Credit produces the matching credit-side document; quantities and document report designs are flip-signed so credits read as positive returns to the supplier. Mark as Receipted displays as Mark as Returned on credit documents, and Duplicate Contra in AP now flips the document class to its credit-side equivalent.
When an Invoice Only Shipment is posted, Accredo now automatically updates the cost prices on related Receipt Only Shipment lines — matched through the Purchase Order line — to match the invoiced cost. A single PO line can be split across multiple receipts and multiple invoices, with the update following the PO line invoiced cost. Already-posted Receipt Only Shipment lines are revised using the existing Update Costs process, with IC transactions updated where the IC period is still available and costing reflowing from there; unposted Receipt Only Shipment lines have their cost prices updated in place. A new AP Setting, Update Receipt Cost from Invoiced Cost (Shipments tab, on by default), controls the behaviour.
Added an opt-in AP Shipments setting "Use Invoiced Cross-rate for Receipts" (AP Settings > Shipments tab) defaults unselected. When selected, a PO-sourced Receipt-Only shipment created from a foreign-currency, already-invoiced, non-fixed-rate PO takes its header exchange rate from the source PO's invoiced cross-rate (Invoiced Amount / Invoiced Amount Bs) and is marked Fixed.
AR - Accounts Receivable
Added Price Code selection to Customer List.
CB - Cash Book
Bank Account Name switched from domain Short Description string(30) to domain Bank Payee string(40) to accommodate account names which in NZ vary in length by bank but are a maximum of 35 characters.
CO - Company
Make Period Name Unicode enabled.
WebApp users will require Report\Query permission for all modules and Company in addition to permissions they have for the WinApp. A new script enabled button on the User Permissions tab automates granting the necessary permissions.
Updated description for Permission Company > Reports > Report Destinations to make it clear this applies in the WinApp only and cannot be enforced in the WebApp.
EM - Email and HTML editor
Add support for TLS 1.3 transport security.
GL - General Ledger
The GL Financial Report Wizard's Columns grid gains Row, Column, and Totals Only settings, letting you lay columns out across up to five rows instead of a single line and stack one column beneath another, such as a percentage under its related amount. A column flagged Totals Only prints only on total lines, keeping the detail rows uncluttered. Recipes saved by the Version 9 Wizard cannot be opened in older WinApp builds.
The GL Financial Report Wizard's Columns grid gains a Year Offset setting that shifts a column's figures into prior or future years, from -10 to +10, so multi-year comparison reports can be built in the Wizard rather than by hand-editing the generated code. The offset combines with the existing period menu choices, column headings adjust automatically to the offset year, and recipes saved by the Version 9 Wizard cannot be opened in older WinApp builds.
Ensure unique variable names and component names are generated from the GL Report Wizard when they would otherwise repeat e.g. same content selected multiple times or stripping of invalid characters would return the same name for two different columns.
Added GL Batch Import Type for Lightning Payroll.
Added Refresh Labels button to GL Report Wizard Grid.
GL Financial Report Wizard "recipes" .pfy files are written out as Json. Old Wizard files can be loaded.
IC - Inventory Control
Version 9 adds effective-dated sell pricing through Price Groups: every Price Code now has a Price Type of List or Group, Groups own multiple dated child Lists, and the pricing engine picks the member List whose Effective Date is the latest on or before the document or transaction date. Existing flat Price Lists continue to work unchanged, with a new Promote Price List to Price Group utility the opt-in path to convert a flat code. The CO Price List form gains a Currently Effective / All Active / All Including Inactive filter, the IC Product form gains a Price Date selector, and the Price Code field is widened from 8 to 12 characters.
Retain original posted IC Cost on duplicate contra IC Transactions and IC Transaction proxies i.e. Document and Batch Lines by tracking IC Cost ID. Link to IC Cost ID can be broken by repricing and selecting IC Cost ID.
Added a MaxBasic EffectivePriceList(PriceCode[, EffectiveDate]) function in the String function group. Returns the effective PriceListCode for a PriceGroup and Date.
IN - Invoicing System
Retain original posted IC Cost on duplicate contra IC Transactions and IC Transaction proxies i.e. Document and Batch Lines by tracking IC Cost ID. Link to IC Cost ID can be broken by repricing and selecting IC Cost ID.
JC - Job Costing
Retain original posted IC Cost on duplicate contra IC Transactions and IC Transaction proxies i.e. Document and Batch Lines by tracking IC Cost ID. Link to IC Cost ID can be broken by repricing and selecting IC Cost ID.
Add Start new page for each master and Repeat column headings per master Report Preferences for Master Detail layouts.
Master detail layouts include IN Invoice, OE Order, JC Work In Progress Detail layouts.
MB - Max Basic
Added optional 2nd Content Type parameter to the InsertNarrative/AppendNarrative methods on Document and Batch objects with values "T", "M" or "H". If not specified, then the default from the Company settings will be used.
Added a MaxBasic EffectivePriceList(PriceCode[, EffectiveDate]) function in the String function group. Returns the effective PriceListCode for a PriceGroup and Date.
Two MaxBasic functions (String group), usable in scripts and report expressions:
HTMLToText(Html) — returns plain text from HTML. (Existing function; now returns an empty string for empty input instead of erroring.)
MarkdownToText(Markdown) — returns plain text from Markdown (strips markup; faithful-enough, not byte-exact).
Example: MarkdownToText(Information) / HTMLToText(Information) to export narrative content as plain text. WinApp only (not in the web service).
OE - Order Entry
Add Narration field to OE Order Header and replicate from Quote to Order, and Order to Invoice.
PO - Purchase Orders
Purchase Orders now supports a Request for Credit document class controlled by a new Credits permission, and AP Shipments adds Credit Return, Credit Only, and Return Only. Create Shipment from a Request for Credit produces the matching credit-side document; quantities and document report designs are flip-signed so credits read as positive returns to the supplier. Mark as Receipted displays as Mark as Returned on credit documents, and Duplicate Contra in AP now flips the document class to its credit-side equivalent.
When an Invoice Only Shipment is posted, Accredo now automatically updates the cost prices on related Receipt Only Shipment lines — matched through the Purchase Order line — to match the invoiced cost. A single PO line can be split across multiple receipts and multiple invoices, with the update following the PO line invoiced cost. Already-posted Receipt Only Shipment lines are revised using the existing Update Costs process, with IC transactions updated where the IC period is still available and costing reflowing from there; unposted Receipt Only Shipment lines have their cost prices updated in place. A new AP Setting, Update Receipt Cost from Invoiced Cost (Shipments tab, on by default), controls the behaviour.
RD - Report Designers
Switch PFD load and save to JSON format. Old PFD files continue to work and can be loaded in the designer. They will update to the new format on save from the designer.
Example documents updated:
ContentType on Narratives
Credit Returns in AP
Request for Credit in PO
Json format for saved pfd files.
Preview Only watermark.
RE - Report Engine
Memo reports and Masterfile reports with Information or Desciption bands acquire a new Memo Text / Information Text / Description Text band which uses content type to print as formatted in the relevant editor. Memo reports are updated to select this by default in place of the Memo Lines band.
SQL - SQL
Added TOP and LIMIT support to Accredo SQL.
SYS - System
Set Send Bug Reports Via HTTP true in System Settings during data conversion.
WS - Web Service
Added new Accept Token in URL setting. Default is unselected and selecting is not recommended since it is considered an insecure practice. System conversion will set the setting selected for backwards compatibility if sites have WS Clients other than the Accredo ones configured. Recommendation is to review and turn off unless required.
Optionally return Results List from batch printing.
XConv - Accredo Conversion
Set Excel File Format to be Excel (.xlsx) in Report Preferences during conversion. We have dealt with a couple of issues recently which were due to this preference still set to .xls.
XX - Install Scripts
Combine installers for single install exe including WebService in System and Update installers.
Accredo A90 – Version 9.0.100
Improvement
PO - Purchase Orders
A new Credit permission now controls access to Request for Credit in Purchase Orders, in the same way as the existing permissions for Quote and Standing Order. When you convert, existing users receive the new permission based on their current Purchase Orders Order permission, so existing scripting and access continue to work.
Want a new feature added or something about your existing system altered to better suit your working practices? Fill out our feature request form.
Want a new feature added or something about your existing system altered to better suit your working practices? Fill out our feature request form.
Get the latest updates to Accredo Mercury and Saturn here. Release notes for both products are also available.
Get the latest updates to Accredo Mercury and Saturn here. Release notes for both products are also available.