Skip to main content
CCH Software User Documentation

CCH Trust Accounts


CCH Trust Accounts 2021.1

Release Highlights

These Release Notes document the changes in CCH Trust Accounts 2021.1. Features added in earlier releases are documented in the Help file, accessed using the F1 key in Trust Accounts. Newer features are documented in Online Help accessed using Help > New online help.

CCH Trust Accounts 2021.1 runs in conjunction with the following CCH products:

Transaction Reporter






This release includes the following:

  • Restriction of SEDOL lookup facility to comply with new LSE rules

Software Enhancements

Restriction of SEDOL lookup facility

Trust Accounts can use either SEDOL or ISIN codes to identify securities. Most users use ISIN codes as the use of SEDOL codes has been chargeable by the London Stock Exchange (LSE) since 2004. The LSE charges are high and are documented here:

Although most users use ISIN codes, many contract notes and dividend schedules use SEDOL codes. To help users with these codes, CCH wrote a SEDOL lookup facility which worked as follows. The user goes into Securities > Find, selects SEDOL, enters a SEDOL code and clicks Find. The system communicates with a CCH web service which looks up the SEDOL and returns the ISIN code. The user then clicks Find a second time and the ISIN code is hopefully found on the user’s database.

Unfortunately this no longer complies with the LSE’s 2021 guidelines. If we continued with it, every ISIN code user would probably become liable for the LSE’s SEDOL code charges. This is documented in “SEDOL Masterfile Pricing and Policy 2021 Guidelines” on the above link. For instance, it states:

“Third Party Application: Example 1

  • Customer stores 7 000 unique SEDOL codes within its in house system.
  • Customer also subscribes to a data mapping facility in a third party application containing over 20000 SEDOL codes
  • The Licensable Event is based on all SEDOL codes that may be accessible or are accessed via the 3rd party mapping facility
  • The correct count for licence purposes is 20000 regardless of how many are extracted or downloaded”

We have therefore updated the SEDOL lookup facility and restricted what it can do.

The new system still allows you to enter a SEDOL code in Security > Find. However it will now only find UK and Irish SEDOLs. This is because UK and Irish ISIN codes contain the SEDOL code in their middle digits. When you search for a SEDOL, the system now converts it into a GB ISIN code and looks that up, e.g. SEDOL 0136701 for British Land 25p shares is converted into GB0001367019. If it’s found then that’s your security. Otherwise it tries converting it into an IE ISIN and looks that up on your database. The web service is no longer used and the actual SEDOL code is never looked up at all.

So UK and Irish SEDOLs can still be looked up if the ISIN is present on the Trust Accounts database but foreign ISINs cannot. When you come across foreign SEDOLs, you may need to Google them or ask the broker for the ISIN code.

Client level security prices

Security prices are usually received from a data feed and apply to all clients. But there are occasions when a different security price would be useful on a particular client. For instance, you might want to use prices from a broker that perhaps were converted at a different exchange rate, or included accrued income or included an inflation element on an index-linked security.

To facilitate this, client level security prices can now be entered. The option is in Investment Accounts > Other > Override security prices. Apart from allowing you to enter the new price and currency, it displays the latest price held at security level and any previous client level security price.


1.       When a security price is looked up, the system first tries to find a client level security price. If it can’t find one within the Pricing Range in Days (which is specified in Database Parameters), then it looks for a normal security price. For instance, if

  • the Pricing Range in Days is 30,
  • there is a client level security price at 31/03/21,
  • a security level price on 03/04/21, and
  • you look up the price at 05/04/21

then the client level price is used. This is because both prices are within the Pricing Range in Days and the client level price is found first, even though the security level price is slightly more recent.

2.       Client level security prices are used for valuations, e.g. on an investment schedule. But they are not used for CGT What If calculations, Transaction Reporter reports or the Ownership of Securities Report. The latter two are usually run for multiple clients and it would be odd to use different prices for different clients on the same report.

Autopost Reference Field

The Autopost now allows a Reference to be specified. This is used as the Reference for all transactions generated by the Autopost. It could be used for recording the initials of the person who ran the Autopost and generated the entries.

CGT Reports - Show client code and name in headings

By default the CGT reports now show the client code and name. Previously only the name was shown. If a user does not like this default, it can be changed back using Activities > System Management > Layout and Formatting and editing the headers of the CGT reports.

Accounts Production

New Commands to test if a page will print or if there are any notes to the accounts

Some commands were added to Accounts Production last year that could be useful to Trust Accounts users. There were two scenarios that caused a problem:

  • Forcing pages to print or be excluded. Sometimes users force a page to print using the options right-click > Include in Print or Exclude From Print. If this was done there was no way of automatically updating the Contents page and it had to be edited manually. For this situation a FormatPrints command has been added, although CCH has not yet used it in the CCH accounts pages.
  • ·Notes to the accounts. Some sets of trust accounts include notes to the accounts. But there was no way of automatically updating the Contents page if notes were present. For this situation, a NotesPrint command has been added.

FormatPrints – Check if a page will print

The syntax for this command is: FormatPrints,FormatCode

For instance,

=AP("If FormatPrints,PageSOFP=0 Then RS Else `Print` Endif")

Returns -1 if the page will print, or 0 if not.

NotesPrint – Check if there are any Notes to the Accounts

The syntax for this command is simply: NotesPrint

For instance,

=AP("If NotesPrint=0 Then RS Else `Print` Endif")

Quality Improvements

ITS/59426 – When Autoposting an Interest payment made gross, the system sometimes warned about a missing tax rate

If the entry is dated after 05/04/2016 it should not give this warning.

ITS/61663 – Income/acquisition schedule was not showing the security code on foreign income

It has now been added.

ITS/59239 – Multicurrency – On the accrued income screen show the currency of the amount

It was not clear that the amount should be entered in the analysis currency. So this currency is now shown as a prompt.

Notable Issues

Limitations on the formulae that can be used in a nominal range or a RangeDef

  • A nominal range supports the ~ pattern-matching operator, e.g. =AP("(a,8101~8901)"), but you cannot drill down from the accounts to see the make-up of a balance given by such a formula.
  • A nominal range does not support the ~M100 or ~S2 syntax to step through main accounts or subaccounts. It is also not supported in RangeDef commands.
  • =AP("RangeDef,0020..005Z,,a,-1,0,ab”) is not supported. It needs to be written as =AP("RangeDef,0020,005Z,a,-1,0,ab”).
  • The Nz command supports the same nominal formulae as a RangeDef.


  • Was this article helpful?