Setting up tax codes in the system to be able to easily get auditable totals for the Australian tax office’s Business Activity Statement (BAS) it not that straight forward.
The system comes with a system used tax exempt category but if you use this invoices (both sales or purchases) that are marked as Exempt do not appear on the tax proof listings and hence you can’t get the totals of tax free sales and purchases that are required for the statement. Equally, using just one exempt tax code for GST means that deriving total export sales has to be a manual exercise. The same is true for capital expenditure purchases but as law firms typically don’t do much of this it is less of an issue.
The way to get around this is to set up two new tax codes, Exempt (Local) and Exempt (Overseas), both with a zero percentage taxation rate. The system provided exempt rate should be not be used. Unfortunately, it can’t be deleted so I would recommend renaming it to something obvious like “Do not use”.
Once this is done set up the WIP codes to be used by the system to be either GST or Exempt (Local), depending upon the nature of the charge. Typically Official Fees and Foreign Associates charges should be Exempt (Local) although there may be other charges, such as international couriers, that may also be exempt of tax.
Local clients should then have their tax code set to blank so that the tax coding will be picked up from the WIP items.
Foreign clients should be set to Exempt (Overseas). Billing will use this tax code to calculate the tax, overriding the tax code recorded WIP codes, and report the revenues under this category so total export sales can be derived.
Local suppliers need to have their tax code set to GST and the tax treatment should be inclusive or exclusive as applicable.
IP Australia is a special supplier however and needs to be set to Exempt (Local) and Tax Inclusive. The tax treatment of Tax Not Applicable, even though it seems obvious to use that one, should not be used as this means that any invoices will not be recorded on the Tax Proof Listing. The default expense account also needs to be set to an account that doesn’t require disbursement to WIP so that Lodgement/Fees Lists can now be entered without being forced to disbursements to be recorded against a case. I’ll go into processing lodgement or fees lists below.
Foreign Suppliers need to be set to Exempt (Overseas) and Tax Inclusive. Once more, the tax treatment of Tax Not Applicable should not be used. If this is used the suppliers invoices will be excluded from the tax report.
The next trick is then to ensure that all accounts payable transactions that need to be reported on the BAS are processed through the Purchase function in Accounts Payable, even if the GST component is exempt. If they are entered through the Manual Payment process as a one off payment or as a withdrawal through the Cash Book then they will not be considered for tax reporting as these to functions have no GST capability.
The biggest load of transactions here will be the payments for lodgements to IP Australia, ie. the official fees, whether the fees list is generated automatically from Inprotech or raised manually. These need to be entered as a purchase and then manually paid using the purchase option. One one thing to be aware of here is that IP Australia as a supplier will default to not disbursing invoices, therefore, if a sales order for fees or invitation to pay is to be processed and disbursed to a case then you will need to change the expense account to one that will force the disbursing to WIP. This means that the operator has to know to do this. Another option is to set up another supplier for IP Australia with a default disbursable account. Then the operator has to know to use this! Six of one, half a dozen of the other.
Other AP transactions that could be an issue here are financial services transactions that have a GST component and are automatically debited from the bank account, eg. lease payments, American Express card commissions, fees for foreign exchange payments. The temptation here is to take these up through the cash book but if you do that the GST component can’t be captured and processed (and you definitely want to capture these ones because this is GST that you are paying and can claim!). Raise them as a purchase invoice and pay them through manual payments to both get them on to the cash book for bank reconciliation and record them on the tax proof listing for BAS processing.
Equally it is not possible to register GST against general journals in the General Ledger so any transactions here that affect GST have to be put through the relevant sub ledgers.
The net result of the above is that the BAS worksheet can be created as follows:
G1 - report total of sales and tax from the Sales Tax Proof listing
G2 - total of sales for Exempt (Overseas) category from the Sales Tax Proof Listing
G3 - total of sales for Exempt (Local) category from the Sales Tax Proof Listing
G11 - report total of purchases and tax from the Purchases Tax Proof listing
G14 - total of purchases for Exempt (Overseas) and Exempt (Local) categories from the Purchases Tax Proof Listing
I haven’t discussed capital expenditure purchases as there usually aren’t very many of these so they have to be handled manually. Alternatively a separate tax code can be established for this and the reports will then total against this code.
The most important thing though is the set up of the client and supplier details. If this is not done properly then non-taxable items won’t appear on the reports. Not a complete show stopper in terms of the statement because the tax to be paid is always correct but the audit-ability is less complete.
I have a little Excel spreadsheet that mimics the worksheet and adds up the totals once you enter the above so if you want a copy drop me an e-mail. I don’t have much experience in this area in other jurisdictions, eg. VAT in Europe, but I am sure the principles are the same.
Red Rain is a specialist services and systems provider to the legal profession. RedView is our mobility and collaboration platform for lawyers and their clients and is our flagship product.
Search This Blog
Sunday, December 28, 2008
Monday, December 22, 2008
Merry Christmas
Best wishes for the festive season to all my readers out there, whoever you are!!
Looking forward to a bright and growing 2009.
All the best.
Stephen.
Looking forward to a bright and growing 2009.
All the best.
Stephen.
Thursday, December 18, 2008
Inprotech: Searching for Cases in Multiple Countries
Another piece of potentially “hidden” functionality that I had reason to use recently was the ability to search for cases in multiple countries. This was added a few years back as a part of a sale for a firm who wanted to be able to report on cases for a client in a particular “region”, as defined by the marketing department eg. Asia Pacific, North America, South East Asia, South America.
The country pick list that is used from the case enquiry screen is different from the pick list used in other places in the system in that it allows the selection of multiple entries by using Ctl-click and Shift-click in the usual manner for multiple selections. Upon doing this the case enquiry will then return all the cases in countries selected.
The pick list itself also has “selection” criteria at the top of the dialog. It is possible to select all countries within a group or all those with a particular country attribute. I can’t remember what the attribute search was actually for. Hard to see, for example, a list of all cases in countries with single class applications being particularly relevant! Anyway, I am sure there was a reason for it, I just can’t remember it. These country selection criteria then limits the countries displayed in the body of the pick list so that the you can easily select the countries necessary.
You can also select multiple countries in the country entry field itself. Simply enter the desired country codes separated by a semi-colon, eg. US; CA, will return United States and Canada.
To be able to search on a region for marketing purposes, as mentioned above, it is then necessary to set up a new country group in the Country program that includes the countries defined to be in the region. From Cases, then use the Country pick list to select the multiple countries in the new group. You can then add extra search criteria for the client and maybe the property type. For example, all of a particular client’s trademarks in the South East Asian region. If you are using the Family field to define the clients brand name then this could further filter the list.
I am not sure how often this type of thing would be a requirement for many users but if it is there is a way to get the information out!!
The country pick list that is used from the case enquiry screen is different from the pick list used in other places in the system in that it allows the selection of multiple entries by using Ctl-click and Shift-click in the usual manner for multiple selections. Upon doing this the case enquiry will then return all the cases in countries selected.
The pick list itself also has “selection” criteria at the top of the dialog. It is possible to select all countries within a group or all those with a particular country attribute. I can’t remember what the attribute search was actually for. Hard to see, for example, a list of all cases in countries with single class applications being particularly relevant! Anyway, I am sure there was a reason for it, I just can’t remember it. These country selection criteria then limits the countries displayed in the body of the pick list so that the you can easily select the countries necessary.
You can also select multiple countries in the country entry field itself. Simply enter the desired country codes separated by a semi-colon, eg. US; CA, will return United States and Canada.
To be able to search on a region for marketing purposes, as mentioned above, it is then necessary to set up a new country group in the Country program that includes the countries defined to be in the region. From Cases, then use the Country pick list to select the multiple countries in the new group. You can then add extra search criteria for the client and maybe the property type. For example, all of a particular client’s trademarks in the South East Asian region. If you are using the Family field to define the clients brand name then this could further filter the list.
I am not sure how often this type of thing would be a requirement for many users but if it is there is a way to get the information out!!
Sunday, December 14, 2008
Inprotech: More on Release 4
Having just been through another Release 4 upgrade with a client I thought I might pass on these experiences as well. The client, in this instance, went for the “rapid fire” rather than a more structured approach and sometimes the situation necessitates this. There is just a different risk management profile with these types of projects and you need to plan for more post implementation issues.
In any case, the client is live on the new release after a bumpy ride, especially at the end. I thought I might pass on some of the issues encountered as they were different from the previous project. The client experienced some minor template issues, but these were more related to the upgrade from SQL2000 to SQL2005 than the Inprotech upgrade. The two areas to go through are, firstly, the deployment process and, secondly, some issues that we found with the application.
The firm itself has 35 users, one of which is a Citrix server which supports another location with 15 users. The client PCs run Windows XP SP3 and they have now migrated to a brand new server which is running only SQL Server 2005 and Inprotech Version 4.0. The administrator logons on the Client PCs have a local profile on each PC and so differ slightly from machine to machine, this may explain some of the behaviour below.
In terms of the deploy the issues were:
The other application we have had an annoying problem with is the new Launch Pad. Occasionally, it gets itself confused remembering the screen position and when the user logs back in the Launch Pad can’t be seen, even though the task bar has an icon that shows it is running. What appears to be happening is that the X/Y coordinates of the remembered screen position get corrupted and the Launch Pad is position “off the screen” somewhere. The first 2 times this happened we resolved it by changing the screen resolution to the highest available and the program could then be seen again and moved back to the centre of the screen, so that it can be accessed once the resolution of the screen is changed back to normal.
On the third occasion the program was still nowhere to be seen no matter what we did and this might be related to users that use two monitors, I am not sure. In the end we tracked down the table that recorded the defaults (DEFAULTSETTINGS?) and deleted the row for the user. When they then logged in the defaults were reset and the Launch Pad is accessible again.
This is a highly intermittent bug and we haven’t been able to duplicate the circumstances that cause it and hence report it through. It is however very confusing to the user because they effectively can’t access the system at all. Fortunately the workaround fix is pretty quick once you know.
I have now been involved in, with and around three upgrade projects and all have them have been problematic so my advice would be thorough testing and preparation. However, I am also aware of another project that went completely smoothly so I guess you can be lucky!!!
In any case, the client is live on the new release after a bumpy ride, especially at the end. I thought I might pass on some of the issues encountered as they were different from the previous project. The client experienced some minor template issues, but these were more related to the upgrade from SQL2000 to SQL2005 than the Inprotech upgrade. The two areas to go through are, firstly, the deployment process and, secondly, some issues that we found with the application.
The firm itself has 35 users, one of which is a Citrix server which supports another location with 15 users. The client PCs run Windows XP SP3 and they have now migrated to a brand new server which is running only SQL Server 2005 and Inprotech Version 4.0. The administrator logons on the Client PCs have a local profile on each PC and so differ slightly from machine to machine, this may explain some of the behaviour below.
In terms of the deploy the issues were:
- Word needs to be installed on the server for the installationto work. CPA acknowledge this as an error but it isn’t going to be fixed until the release of Version 5.0.
- For the client PCs the approach taken was to physically install the client component one each PC rather than use a silent install process. Partway through the installation it became apparent that running the setup.exe when logged on as an administrator actually went to the shared network folder which contained the dglib.dot, dgwiz.dot, etc and deleted the contents of this folder!! This only occurred on certain PCs. The server software installation had then to be re-run to retrieve these missing templates then save a copy to return to the folder every time a client installation deleted them.
- For the .OCX files to register correctly on certain PCs it was necessary to actually launch Inprotech logged in as the administrator. This wasn’t clear from the documentation, and as a result it was necessary to re-log on to a number of PCs when users noted a problem on logging in.
- The new colouring scheme doesn’t show satisfied reminders any more (or we can’t seem to find the way if it is possible). The firm doesn’t feel comfortable in just deleting all satisfied reminders in a blanket fashion. In the past some rules were set up to be satisfied automatically at due date and they would like to be able to manually review to ensure these rules have been corrected.
- The details of where the where the due date has arisen from has been taken away from the message on the screen. This was information that was used in certain instances to better understand the situation with the due date but is now not available. You can get it by viewing the report but this just adds another step in the process.
- The Countries button appears to be no longer available for reminders that are satisfied by updating the Designated Countries tab, eg a 30/31 month reminder on a PCT or a 12/18 month reminder on a Madrid case. The firm has rules to satisfy the reminders if all of the countries listed are updated to a particular level, eg to national phase filed. The Countries button used to appear on the second tab of those reminders and listed the countries which had not been updated to the appropriate level. We don’t seem to have access to this anymore but it may be that we just haven’t found the appropriate site option or whatever.
The other application we have had an annoying problem with is the new Launch Pad. Occasionally, it gets itself confused remembering the screen position and when the user logs back in the Launch Pad can’t be seen, even though the task bar has an icon that shows it is running. What appears to be happening is that the X/Y coordinates of the remembered screen position get corrupted and the Launch Pad is position “off the screen” somewhere. The first 2 times this happened we resolved it by changing the screen resolution to the highest available and the program could then be seen again and moved back to the centre of the screen, so that it can be accessed once the resolution of the screen is changed back to normal.
On the third occasion the program was still nowhere to be seen no matter what we did and this might be related to users that use two monitors, I am not sure. In the end we tracked down the table that recorded the defaults (DEFAULTSETTINGS?) and deleted the row for the user. When they then logged in the defaults were reset and the Launch Pad is accessible again.
This is a highly intermittent bug and we haven’t been able to duplicate the circumstances that cause it and hence report it through. It is however very confusing to the user because they effectively can’t access the system at all. Fortunately the workaround fix is pretty quick once you know.
I have now been involved in, with and around three upgrade projects and all have them have been problematic so my advice would be thorough testing and preparation. However, I am also aware of another project that went completely smoothly so I guess you can be lucky!!!
Tuesday, December 9, 2008
Inprotech: Contact Addresses
Time goes so quickly. I had an intention of writing an article every one or two weeks as I have a long list of topics but before you know it a month goes by! I promise to do better.
My little article today is about contacts and names & addresses. The Inprotech database has a highly normalized set of data structures where the name is a separate data object from the address, which is separate from the telecommunication numbers. Each of them has their own set of attributes and they can be linked to each other with the goal of only having the information recorded in the database once, removing the potential for extra data entry and error.
The user interface tries to hide this complexity, providing structured input forms that attempt to lead the user to enter the information in a manner similar to how it is provided on paper and then the system builds the appropriate links and pointers. For example, an employee of a company is simply added as a name and the system defaults the address pointer to the company’s address pointer meaning that the address doesn’t need to be entered again. If the employee has a different address this is entered and the software breaks the link. A new address data item is created and linked to the employee. Same thing applies to phone numbers, faxes and the like, although, for direct telephone numbers, the choice is whether to override the number or use the Direct Line number type.
It is then possible to use the advanced functionality to link numbers and addresses to each other and to different organizations and contacts however my experience has been that users generally find this all very confusing and my recommendation is that, unless you are prepared to invest in training and good procedural documentation, avoid it completely.
Of course, with all these high ideals, the human factor kicks in with names added in a variety of different ways over the years simply because of the practicalities of day to day life. People come and go, some are trained, some are not, some understand, some don’t and some care and some don’t.
So the question that was raised: how can you tell if all contact names for an organization are linked to the same address. Here is my suggestion.
Use the Names program as the enquiry tool:
My little article today is about contacts and names & addresses. The Inprotech database has a highly normalized set of data structures where the name is a separate data object from the address, which is separate from the telecommunication numbers. Each of them has their own set of attributes and they can be linked to each other with the goal of only having the information recorded in the database once, removing the potential for extra data entry and error.
The user interface tries to hide this complexity, providing structured input forms that attempt to lead the user to enter the information in a manner similar to how it is provided on paper and then the system builds the appropriate links and pointers. For example, an employee of a company is simply added as a name and the system defaults the address pointer to the company’s address pointer meaning that the address doesn’t need to be entered again. If the employee has a different address this is entered and the software breaks the link. A new address data item is created and linked to the employee. Same thing applies to phone numbers, faxes and the like, although, for direct telephone numbers, the choice is whether to override the number or use the Direct Line number type.
It is then possible to use the advanced functionality to link numbers and addresses to each other and to different organizations and contacts however my experience has been that users generally find this all very confusing and my recommendation is that, unless you are prepared to invest in training and good procedural documentation, avoid it completely.
Of course, with all these high ideals, the human factor kicks in with names added in a variety of different ways over the years simply because of the practicalities of day to day life. People come and go, some are trained, some are not, some understand, some don’t and some care and some don’t.
So the question that was raised: how can you tell if all contact names for an organization are linked to the same address. Here is my suggestion.
Use the Names program as the enquiry tool:
- Enter the company name as the Associated Name.
- Select the relationship “Employs” (this is the system relationship used for contacts).
- Select the Reverse relationship check box (Employs becomes Employs By).
- Remove the Has Code check box (contacts are unlikely to have a name code).
- Check the Fast Correction check box in the tool bar. (Fast Correction was created to allow quick changes to a defined list of names without having to go backwards and forwards between screens).
- Enter.
Sunday, November 9, 2008
Inprotech: Prepaid Funds
Management of cash is a crucial component for any business but even more so for a patent attorney firm who:
One way of managing the cash flow with local or direct clients is to obtain funds in advance from the customer, before the work is done. This could be in the form of obtaining a deposit before performing a broad range of activities or asking for a specific amount to cover a specific activity eg. payment of registration fees to obtain the certificate.
In the first instance the customer is required to provide cash in advance because a large amount of expenditure will be necessary, eg. a large multi-country protection of a brand, and the provision of cash is based upon the size of the project, the goodwill of the client and the commercial need to cover the outgoings. In the second instance, the attorney has more leverage, in that the payment is necessary to finalise the entire filing process.
Inprotech has one major way to handle these situations: prepayment processing. Another way for the second instance is billing in advance but I will talk about that in another article.
A prepayment is where the client pays funds in advance of receiving an actual invoice. The money is receipted into the business and recorded as a special form of unallocated cash, classified in the system as a prepayment.
These funds can then be marked for different types of use. For example, it may be only for patent cases or for trademark cases, for renewals work or non-renewals work, or for a specific case or set of cases. Alternatively, the sum of money can be just allocated to the client and therefore available for use against any piece of work for the client.
The definition of the funds as a prepayment as opposed to unallocated cash means that the money become available to be applied to the invoice during the billing process. This is done via the Apply Credits button that will become enabled when funds are available for a case being billed.
A list of prepayments will be shown that match the attributes of the case as defined against the prepayment above eg. if the prepayment has been allocated for patent work and the case is a trademark case the item will not be available to apply to the invoice.
Once the amount is selected (and the invoice is finalized) the cash will be accounted for correctly in the Accounts Receivable ledger, if you are using this, and, presuming the invoice format has been set up correctly, shown on the bill. Total Due less Prepayments Applied equals Total Now Payable. If the prepayment has been applied to the entire invoice then a zero bill will be created.
Various site options apply to the use of prepayments. There is one that provides for a warning to be shown if prepayments are to be applied during the billing and another that checks total WIP for a case against prepayments available and warns if the total exceeds the amount during the time and disbursement recording process. In this way prepaid work for the client can be monitored as the work is being performed rather than waiting until the billing process to find out that all prepaid funds have been expended.
A particularly interesting site option is AR for Prepayments (or something like that!). This allows prepayment functionality to be implemented where the firm doesn’t have a license for the Accounts Receivable module, although you obviously need a license for the Billing module. When this option is set to true a limited form of the Accounts Receivable program becomes available. All functionality, outside of recording receipt information for prepayment processing, is disabled.
The other areas that prepayment information is shown is on the WIP tab in the Cases program, where totals amounts for the case and debtor are shown as well as the Professional WorkBench against the client record and the case record. I think it can also be available for the client to see in the Client WorkBench but don’t quote me on that one. That’s a whole other set of decisions anyway.
The last area that needs consideration for prepaid funds is what I will call “proforma invoicing”. Occasionally, a client may require an actual invoice of some form before they will release funds. This could be because they believe that the tax regime requires an invoice or simply that their internal processes require a piece of paper.
In this instance you cannot raise an invoice (even one in advance) through the system because that will create revenue and debt that needs to be paid. What needs to be done is the creation of a proforma invoice through word processing. This is a piece of paper that looks like an invoice with the amounts and tax applicable (if necessary) but it not a financial document from the accounting systems standpoint.
If you are doing a lot of these it is probably makes sense to create a PassThru template for the sake of efficiency and consistency. I would also recommend some sort of numbering system and register to tracking the proforma invoices sent to clients. Probably easiest to do this manually although if you are database savvy it is relatively simple to set up some SQL to generate the next proforma invoice number (and create and monitor the register) via Docitems and PassThru.
- incur the liability for disbursements on behalf of their clients,
- can be dealing with fledging and start up organisations who often have their own survival issues
- deal with foreign associates who expect long trading terms and work outside of the firm’s jurisdiction!!
One way of managing the cash flow with local or direct clients is to obtain funds in advance from the customer, before the work is done. This could be in the form of obtaining a deposit before performing a broad range of activities or asking for a specific amount to cover a specific activity eg. payment of registration fees to obtain the certificate.
In the first instance the customer is required to provide cash in advance because a large amount of expenditure will be necessary, eg. a large multi-country protection of a brand, and the provision of cash is based upon the size of the project, the goodwill of the client and the commercial need to cover the outgoings. In the second instance, the attorney has more leverage, in that the payment is necessary to finalise the entire filing process.
Inprotech has one major way to handle these situations: prepayment processing. Another way for the second instance is billing in advance but I will talk about that in another article.
A prepayment is where the client pays funds in advance of receiving an actual invoice. The money is receipted into the business and recorded as a special form of unallocated cash, classified in the system as a prepayment.
These funds can then be marked for different types of use. For example, it may be only for patent cases or for trademark cases, for renewals work or non-renewals work, or for a specific case or set of cases. Alternatively, the sum of money can be just allocated to the client and therefore available for use against any piece of work for the client.
The definition of the funds as a prepayment as opposed to unallocated cash means that the money become available to be applied to the invoice during the billing process. This is done via the Apply Credits button that will become enabled when funds are available for a case being billed.
A list of prepayments will be shown that match the attributes of the case as defined against the prepayment above eg. if the prepayment has been allocated for patent work and the case is a trademark case the item will not be available to apply to the invoice.
Once the amount is selected (and the invoice is finalized) the cash will be accounted for correctly in the Accounts Receivable ledger, if you are using this, and, presuming the invoice format has been set up correctly, shown on the bill. Total Due less Prepayments Applied equals Total Now Payable. If the prepayment has been applied to the entire invoice then a zero bill will be created.
Various site options apply to the use of prepayments. There is one that provides for a warning to be shown if prepayments are to be applied during the billing and another that checks total WIP for a case against prepayments available and warns if the total exceeds the amount during the time and disbursement recording process. In this way prepaid work for the client can be monitored as the work is being performed rather than waiting until the billing process to find out that all prepaid funds have been expended.
A particularly interesting site option is AR for Prepayments (or something like that!). This allows prepayment functionality to be implemented where the firm doesn’t have a license for the Accounts Receivable module, although you obviously need a license for the Billing module. When this option is set to true a limited form of the Accounts Receivable program becomes available. All functionality, outside of recording receipt information for prepayment processing, is disabled.
The other areas that prepayment information is shown is on the WIP tab in the Cases program, where totals amounts for the case and debtor are shown as well as the Professional WorkBench against the client record and the case record. I think it can also be available for the client to see in the Client WorkBench but don’t quote me on that one. That’s a whole other set of decisions anyway.
The last area that needs consideration for prepaid funds is what I will call “proforma invoicing”. Occasionally, a client may require an actual invoice of some form before they will release funds. This could be because they believe that the tax regime requires an invoice or simply that their internal processes require a piece of paper.
In this instance you cannot raise an invoice (even one in advance) through the system because that will create revenue and debt that needs to be paid. What needs to be done is the creation of a proforma invoice through word processing. This is a piece of paper that looks like an invoice with the amounts and tax applicable (if necessary) but it not a financial document from the accounting systems standpoint.
If you are doing a lot of these it is probably makes sense to create a PassThru template for the sake of efficiency and consistency. I would also recommend some sort of numbering system and register to tracking the proforma invoices sent to clients. Probably easiest to do this manually although if you are database savvy it is relatively simple to set up some SQL to generate the next proforma invoice number (and create and monitor the register) via Docitems and PassThru.
Monday, November 3, 2008
Reflections on an Inprotech Release 4 Upgrade
I have recently been involved with delivering a project for a client that required moving the firm from release 3.3 of the system to the latest release 4 patch.
The firm has approximately 150 staff and uses virtually all of the client/server Inprotech modules as well as the Client WorkBench. The software is integrated with their document management system and there are a significant number of in house written reports.
As a result, the system touches on all users in the business, as well as clients. The project was therefore staged in a manner that tried to mitigate risk of disruption to the business from the change as much as possible. We also wanted to introduce the new versions of the software in a manner where the staff could take advantage of any useful new features and, as an adjunct, document the overall upgrade process so that moving to future releases would be easier.
The approach we took was as follows:
For this project we generally achieved our goals with an excellent team effort however what are the things that others maybe should be aware of?
The first thing we found was that the effect of the new release on end users was fairly minor. This is because the big ticket items in the release: electronic data exchange, trust accounting, IDS, Canadian GST, Clerical/Professional WorkBench are only applicable if you do massive amounts of renewals, work in a particular jurisdiction or use the new web modules.
There are some interesting minor enhancements that we took advantage in the back office of but, to be honest, the most beneficial piece of the release to the user (outside of being on the current version for support) is the ability to maximize the screens and have the software, in the majority of cases, re-size itself to display more information (and remember that it has done it).
The re-design of the reminders screens is also nice for the project but that was available in a previous release so not necessarily a release 4 thing. As well the Launch Pad now docks and remembers where it has been docked between logons which adds to the overall usability a little bit.
Note however that the re-sizing only applies to screens that are of a tabular nature so it does not do anything for screens with fixed field locations such as the Instructor tab or some of the name tabs. Note also that it has only been applied to the main screens in the Cases & Names module. The other programs and the timesheet, billing and accounting modules are being done in a future release or releases as I understand it.
The second thing we found was that we had quite a few issues with the document generation Word DLL and had we three iterations of this crucial little piece of code delivered to us during the testing phase. Hopefully it is now stable in the current patch level.
The main issue was around the way Null values are handled. Instead of returning no value for Null the dglib.dll (the module that handles data requests from letters) was now returning a space. The client’s templates were checking for no value and colour highlighting these fields in the letter to indicate possible missing data. When a space was returned the check no longer highlighted the field.
The new dglib.dll is also less forgiving with poor coding. Whilst this is probably a good thing in some respects it does mean that some recoding work may be required for letter templates and testing of letters is critical to a successful upgrade. The following were typical of the issues found:
Other things to look out for:
The firm has approximately 150 staff and uses virtually all of the client/server Inprotech modules as well as the Client WorkBench. The software is integrated with their document management system and there are a significant number of in house written reports.
As a result, the system touches on all users in the business, as well as clients. The project was therefore staged in a manner that tried to mitigate risk of disruption to the business from the change as much as possible. We also wanted to introduce the new versions of the software in a manner where the staff could take advantage of any useful new features and, as an adjunct, document the overall upgrade process so that moving to future releases would be easier.
The approach we took was as follows:
- Analysis & Preparation. All release notes were reviewed and assessed with the business to determine which areas of new functionality could be utilized by the firm and what level of configuration was required.
- Unit Testing. The software was installed in a test environment to allow configuration and testing of the new functionality identified in preparation for acceptance testing.
- Integration Testing. The newly configured software was tested then with integration to Word, the document management system and the in house reports.
- Acceptance Testing. Representatives from various areas of the business were co-opted (conscripted??) to test the software that they were affected by in a test lab environment with test cases that mimicked everyday usage of the software.
- Deployment. Training materials showing the changes in the software between the different versions were constructed and training courses were delivered to reinforce the major changes. Actual deployment occurred over a weekend when the production database was upgraded and the new requisite client components for the user PCs were delivered via a silent install process that had previously be developed and tested.
For this project we generally achieved our goals with an excellent team effort however what are the things that others maybe should be aware of?
The first thing we found was that the effect of the new release on end users was fairly minor. This is because the big ticket items in the release: electronic data exchange, trust accounting, IDS, Canadian GST, Clerical/Professional WorkBench are only applicable if you do massive amounts of renewals, work in a particular jurisdiction or use the new web modules.
There are some interesting minor enhancements that we took advantage in the back office of but, to be honest, the most beneficial piece of the release to the user (outside of being on the current version for support) is the ability to maximize the screens and have the software, in the majority of cases, re-size itself to display more information (and remember that it has done it).
The re-design of the reminders screens is also nice for the project but that was available in a previous release so not necessarily a release 4 thing. As well the Launch Pad now docks and remembers where it has been docked between logons which adds to the overall usability a little bit.
Note however that the re-sizing only applies to screens that are of a tabular nature so it does not do anything for screens with fixed field locations such as the Instructor tab or some of the name tabs. Note also that it has only been applied to the main screens in the Cases & Names module. The other programs and the timesheet, billing and accounting modules are being done in a future release or releases as I understand it.
The second thing we found was that we had quite a few issues with the document generation Word DLL and had we three iterations of this crucial little piece of code delivered to us during the testing phase. Hopefully it is now stable in the current patch level.
The main issue was around the way Null values are handled. Instead of returning no value for Null the dglib.dll (the module that handles data requests from letters) was now returning a space. The client’s templates were checking for no value and colour highlighting these fields in the letter to indicate possible missing data. When a space was returned the check no longer highlighted the field.
The new dglib.dll is also less forgiving with poor coding. Whilst this is probably a good thing in some respects it does mean that some recoding work may be required for letter templates and testing of letters is critical to a successful upgrade. The following were typical of the issues found:
- You must always register a Docitem BEFORE it can be referenced in any VBA code. In the previous version all Docitems were registered by a separate DoItems call, usually at the end of the macro, but now they are registered dynamically so the order is more important.
- The registeritem must nominate the correct destination type and cannot be blank. In the previous version it would default to being a string returned to a bookmark if there were errors which sometimes allow the template to complete even though the code was wrong.
Other things to look out for:
- The reminders program seems to handle security slightly differently (although we are not sure if it is a bug) so we had to do some extra configuration here,
- There is an annoying bug that has been introduced in the DocItems program that resets the flag for images and stored procedures even though you don’t change it.
- The client PC now requires to have some software to be loaded to it. (Previously the client had run the entire system from the server).
- We had to upgrade SQL server 2000 to SP4 with the latest hotfix to resolve some policing and billing issues.
- Some custom changes were needed to the upgrade scripts because the client used different codes to CPA (eg WO instead of PCT and different code for ‘Leave Open in Word’ delivery method ) .
- An extra cleanup script was required to remove some duplicated names attached to cases in CASENAME (mainly contacts but also other name types). We at first thought that this was something site specific but other clients have had the issue and CPA support have a script to assist if you know to ask for it (which you do now!).
- A fairly significant workbench issue in drilling into case details which were corrected by stored procedure patches, which presumably will be incorporated into the main release at some stage.
Subscribe to:
Posts (Atom)