Archive for the ‘Software’ Category

Importing Data from Property Intellect 2.1 to 3.1 – the best way?

Wednesday, January 13th, 2010

I know from the feedback that we get that migrating data from v2.1 to v3.1 or Property Intellect has caused some confusion. I did previously write up a summary of why the system work the way they do and the design decisions behind them – you can find that blog post here - but I think some practical advice is in order. I’m posting this here as my personal take on this as there is no ‘official recommendations’ on this as it does depend so much on what you start with and what data you want to pull in.

Firstly, some frequent questions

  • v2.1 and 3.1 can co-exist on the same PC
  • you do NOT need to have v2.1 installed to use the import tool to pull in your old data – you need only the 2.1 data file (its usually called pi.mdb)
  • v2.1 is not Vista or Windows7 compatible (it was written way before they existed). It may or may not install. It may or may not work. Or it might work, but do some really weird things. v3.x was written for Vista (and Windows 7 follows from that – I run my 3.1 installation on Windows 7 and it works extremely well)
  • The import tool will make duplicate data if you run it twice (it cannot check for duplication very easily), so if you want to re-import (perhaps you didn’t like the results), then you need either to reset the system (Admin Tool->System Reset button), or simply make a backup before you do the first import (i.e. straight after the initial install) and use that to roll back if needed.
  • All contractors/suppliers in your 2.1 data must have the ‘Contractor’ tickbox set.
  • Rent receipts much have a category of Rent.
  • Ensure there are no duplicate owner contacts (i.e. 2.1 allows 2 ‘John Doe’ contacts with the same name – 3.1 will not)

Will all my data import OK?

Mostly, yes, but it does depend on a few factors. The importer can only import data that fits the idea of what it expects to find in the 2.1 data. Missing or incomplete data will also get thrown out by the importer as v3.1 is strict on validation of data.

In practice, you will probably find that your properties come in OK, as will most of the tenancy agreements (assuming they are correctly entered in 2.1). Contacts, journal entries, tasks etc should come in fine.

Accounts can present more of a challenge due to the different ways of representing things in 2.1. Although you can import this data, I really believe the best way to handle this is simply to use 2.1 as a historic data, and set an ’opening balance’ for each tenancy in 3.1 (if the tenants are up to date, then you don’t need to do this). Then go forward from there in 3.1 – the old 2.1 data will effectively fade away in relevance over time, but is still there if you need it.

Practical Steps to Importing

When people ask me what the best way to import data is, I almost always give the following advice:

  1. Install v3.1 with a blank database
  2. Make a backup so that you can roll back to an empty 3.1 database if the import is not to your liking.
  3. Check that the 2.1 data is sensible (see the bullet points int he FAQ bit above)
  4. Run the 2.1 to 3.1 import tool. You can find this in windows Start->Programs->Property Intellect 3.1->Tools. There is also a help PDF in there as well.
  5. If you already have 2.1 installed and working on the PC then the importer will automatically pick up the path to the 2.1 data file. If not, you’ll need to point it to the correct location (NOTE: if you have a .zip backup file then you will need to extract the pi.mdb file from that first)
  6. Accept the defaults and let it start. Note that it can take quite a while to import (hours in some cases).
  7. When it’s done, start v3.1. The importer will have placed all your tenancy agreements in a ‘pending’ state, so you will need to open each one, fill in any missing data and make it active manually.

Top Tips

  1. Allow yourself time to learn v3.1. It is a very different beast from v2.1. You might want to consider running both in parallel for a while as an easier way forward.
  2. Implement 3.1 before the start of the next tax year!
  3. If you have a small number of properties/tenancies, then you should give consideration to just re-entering them into 3.1 – it’s probably quicker in the long run. 3.1 has tools to retrospectively fill in rent receipts from the start of the tenancy so this is not as bad as it sounds.
  4. Do not try to make 3.1 an update for your 2.1 data – transactions are no longer king in 3.1 and you need to make time to get your head around how 3.1 works!

Windows 7: Initial impressions

Thursday, October 29th, 2009

We just announced that we formally support Property Intellect on Windows 7 from the 3.1.8 build (i.e the current build at time of writing). I’ve been playing with a ‘Release Candidate’ version for a little while now, but decided to go out and buy a copy and upgrade my Dell laptop (which had Vista on it, which I was not keen on). I wiped the disk and reinstalled from scratch to give it the best possible shot, and I’m glad I did! Initial reaction: installed quickly and easily and starts up/shuts down much quicker. The responsiveness of the laptop is also very noticeably better.

I’m impressed. Effortless install, big performance boost and zero crashes thus far. It recognised and installed all required drivers (I might just have been lucky on that front though). It’s hard to see how one can ask for more really.

Next step – upgrade my main working PC…could be much more challenging…let you know how it goes :)

3.1.8 – its a wrap, includes new commercial module

Monday, October 5th, 2009

Well, that one was really to the wire. It takes a huge effort to get a new build of Property Intellect out – a lot more than people realize. It’s complicated enough to build and test the system. Then we’ve got the updates … and for multiple versions!

v3.1.8 is quite a landmark for us in what has been a system that has been growing almost daily for the last six months. 3.1.8 is notable as it includes a shiny new commercial property option. You see, the system was built for this kind of things, but we just never had enough development time to make it a reality – until now. Hopefully it should make life a lot easier for those of you with a mixed bag of residential and commercial units.

When we did the research we could see that most of the other systems simply claim that you can enter commercial properties by pretending that they are residential units in disguise. Those who actually run commercial units know better of course. There are some subtle differences in the way they are managed and treating them the same as residential units just does not ‘cut it’.

So there we are. Enjoy ;)

New stuff

Thursday, October 1st, 2009

Excited as we’ll be making an announcement later on about some new stuff that is being released. Stay tuned!

What we’ve been up to for the last few months: a recap

Tuesday, September 8th, 2009

A few people have asked the same (good) questions about what is new/updated with Property Intellect so I thought I’d give you all an update on what we’ve been up to over the last few months.

Some of you might have downloaded a little while ago, possibly even stretching back into last year so you will have missed out on changes that really will have made a big difference. At the end of last year we undertook a mini project of reviewing and collating user feedback on the product, and sparing you the gory details, this gave rise to the next major revision – version 3.1. This spots a brand new, and very unique interface interface which was designed specifically to make doing the things you need to do much, much easier. The feedback to those changes has been overwhelmingly positive and we have been rolling in new functions and refining the product in a series of updates since then. We’re currently running at a rate of one major upgrade per month!

You can look back at the last few changes (although many more before then) here: http://www.propertyintellect.com/html/changelogs.html

There are always new features and things to do with the product, so look out for more changes very soon…

Omelettes and Eggs: looking at the reasoning behind the 2.1 to 3.x upgrade

Thursday, August 27th, 2009

I’ve had a number of chats with customers over the past few months about the rationale behind the evolution of Property Intellect range from the original 2.x series to the current 3.x series so I thought it would be useful to write these up for the benefit of everyone. Note that this is my personal take on this, there is no ‘official’ position. This is a long post!

Let start by saying that Property Intellect 2.1 was a popular package – actually it was much more successful than anyone had originally envisaged, and got used in ways that we had never thought of, much less intended. When we began looking at how to take PI forward it became clear that there were a few requirements that came up as repeat themes from many users:

  • Better accounts. The need for better account handling – particularly the need for cross-checking, and better reports with drill down capability;
  • Better reporting, particularly the need to drill down on the make up of the reports;
  • More storage fields with more space to enter into;
  • It was difficult to understand where to start to get value back from the program – a lack of process-driven presentation;
  • A desire to control what was shown on grids;
  • Better mail merging;
  • Better user level security (i.e. restricting who could do/see what);
  • Better multi-user access and management;
  • Vista compatible.

That’s quite a list, and it was pretty obvious that to even cover part of it we would need to do something a little more radical than simply tweak the existing code. The original code base for 2.1 was based on a completely different set of requirements and some points above are fundamentally different in nature to the existing way it worked. It would not have been possible to take the code and twist it that far without making a real unmaintainable mess – so the only sensible avenue was a complete re-write.

Lets look at a comparison of the two systems.

Comparison of Architectures: 2.1 vs. 3.x

The table below is a broad comparison of the capabilities/perspective of each system:

2.1 3.x
Accounting Simple transaction records represent income/expenditure

Pros: Very simple and quick. Very lose validation requirements.

Cons: Mistakes easily made and difficult to trace. No proper account structure means anything but simple entries need ‘creative’ thinking to work around. Impossible to track certain accounting scenarios such as tenants moving from one property to another.

Dual entry accounting

Pros: Controlled entry so much less chance of inconsistent accounts. Able to handle all accounting scenarios. Separation of account types permits more appropriate handling of the account.

Cons: More complex entry, stricter entry requirements – user must enter all required data there and then. Developer must provide all possible accounting paths.

Validation Very little field or record level validation, with only one or two required fields. Little or no cross checking on related data during deletion or modification.

Pros: Very simple and quick.

Cons: Can delete/modify data relied upon in other sections of the program leading to inconsistent/unexpected results

Strong field and record level validation, with more required fields. Significant cross checking on related data during deletion or modification.

Pros: Prevents inconsistent data.

Cons: Slower initial entry and more work to process by the system.

Data Duplication

Duplicate records permitted.

Pros: Simple to enter data.

Cons: Usually ends up with multiple records (e.g. 3 contacts with the same name) leading to endless confusion, particularly when there is more than one person entering data

Duplicate records with the same name not permitted.

Pros: Impossible to enter duplicates – user is forced to use correct record. Data always consistent.

Cons: Initially more confusing, small training issue.

Interface

Single page entry using on-page form.

Pros: Simple and fast selection and entry.

Cons: Severe restrictions on screen space available for fields. Difficult to implement sub-forms.

Core sections supported by multiple windows that can be opened/closed as required.

Pros: Standard design familiar to most users. Significantly more space to add fields, sub-forms and other text/graphics.

Cons: Culture shock for 2.1 users. Slower than on page forms.

Data Storage

Single page entry using on-page form.

Pros: Simple and fast selection and entry.

Cons: Severe restrictions on screen space available for fields. Difficult to implement sub-forms.

Core sections supported by multiple windows that can be opened/closed as required.

Pros: Standard design familiar to most users. Significantly more space to add fields, sub-forms and other text/graphics.

Cons: Culture shock for 2.1 users. Slower than on page forms.

Networking

Simple multi-user to Access back end with no accounts or permissions.

Pros: Simple installation/implementation.

Cons: All but impossible to coordinate clients, reliant on crude screen refreshes. Unable to see other changes until whole area refreshed. Failure in one client can crash/corrupt entire data file. No security.

Sophisticated networking co-ordination with SQL Server back end.

Pros: Clients can see changes as they occur, not reliant on refreshes. Failure of any client will not corrupt data or affect other clients. User-level security.

Cons: More complex installation, more affected to misconfigured firewalls.

Scalability

Limited by Access back end.

Pros: None I can think of.

Cons: effectively max 5-10 clients. Performance degrades rapidly as number of clients increases.

Highly scalable.

Pros: Back end is scalable as required. Can upgrade processing to provide additional horsepower without changing software. Performance less of an issue.

Cons: None.

Essentially, 2.1 a great tool for a single user to quickly enter unvalidated data. The onus is on the user to make sure what they do is correct which makes it very open and flexible. The problem is that virtually nobody has the rigorous processes to ensure that data gets entered 100% all the time. Now, of course when we go to report on that data the old maxim ‘rubbish in, rubbish out’ applies in spades. Without control over the data it can be difficult to know where the data you see comes from.

Version 3 is much more sophisticated on just about every front – in its handling of data through to its reporting mechanisms. That means that we could expand the system to previously unimaginable levels safe in the knowledge that we would not break the whole system.

So far, so good. Now the downside for existing 2.1 users. The title of this piece refers to the saying ‘you can’t make an omelette without breaking eggs’, and that’s exactly what happened here. We could not maintain 100% compatibility between the two versions whilst implementing the new features and accounting standards. This wasn’t so much a technical limitation but rather that some information that is required by the accounting system in 3.x is simply not present because the accounting concepts required do not exist in 2.1. This all means that the import tool in some cases has to ‘fill in’ the blanks.

There are also some more fundamental changes to the way in which income and expenditure are handled. Let’s summarise again:

2.1 3.x
Rental income

Assigned directly to the payor and property. Payment is credited to the Tenancy account (new concept for 3.x). Property and Payor have no direct relevance to the accounting process but are linked for reporting purposes.
Property income

Assigned directly to the property. Not supported.
Expenses

Stored as a transaction with the payee as the supplier. All suppliers have accounts (new concept for 3.x). All expenditure must have an invoice and payment against that invoice.

When building a tenant statement in 2.1, the system looks to the transactions and attempts to build a history, at which point 2 important limitations become apparent: if the payor is not always the tenant, how can you know what they paid? Perhaps look to the property association? No help there either – that does not really tell us what what being paid off so we’re left having to make assumptions about the transaction. If that tenant later moves to another property you own then things get even worse! As you can see, this can make the importer’s job rather hard indeed.

The concept of assigning income (rental or otherwise) to a property has been dropped completely from 3.x. If you think about it it actually makes no sense – a property is a physical asset (or profit centre if you like), not an account. Rental income is assigned to the Tenancy account instead, which means that anyone can pay the rent without messing up our interpretation of the accounts. Likewise, the status of suppliers is more defined in 3.x with each one having a proper account – we are not forced to infer that the person is a supplier based on the transaction attributes. The simple transaction concept also falls short as it cannot distinguish between invoices you have received but not paid and expenses you paid there and then – you as the user are forced to make up your own system in this regard…not very satisfactory.

Of course, none of these new concepts are in any way new – accountants have been using them for years. Our challenge was to present a more formal processes in an understandable way (we’re not trying to reinvent Sage).

Validation

This is a big issue and marks a sea change in the way that the systems work. 2.1 is a very ‘lose’ system in that you can enter the bare minimum to create a record then come back later to fill in the details. Perhaps more importantly, there is very little cross-checking between records (known in the trade as ‘referential integrity’). You can merrily delete a record that has a link to it from some other record. This does have some big advantages – it allows you to make the change, then go back and update the link with very little effort. However, in practice unless the user is extremely careful it allows major consistency issues in the data to appear.

Given our primary requirement to produce rock solid accounts, it effectively precluded the above approach – you simply cannot do it unless you are 100% confident in the data you are working on. From a 2.1 to 3.x migration perspective then we have more problems if the user has not entered the required data or the data is invalid in any way – in this case all we can do is reject that item and not import it. There is no ’silver bullet’ here.

Correcting Mistakes (digressing for a moment…)

The discussion before regarding validation has one interesting other spin-off – correcting mistakes. In 2.1 there are virtually no ‘business processes’ handled by the system, but in 3.x the opposite is true. Sticking to our maxim of good accounting means that we must process certain actions to manage the state of the accounts. Now some processes are reversible and some are not (at least not without disproportionate effort and code complexity) so it is not always possible to simply change the value of a transaction in the way you could in 2.1 – to do so could cause serious inconsistencies in the accounts. Lets take an example of a non-reversible business process:

  1. Tenant is in arrears by £50
  2. Further rent charge raised for £100
  3. Tenant pays us £75 and the system allocates the payment.
  4. The first £50 pays off the arrears, the next £25 pays off a portion of the rent owing from step 2.

Fine so far, but lets say the user made a mistake – it wasn’t £75 – we actually received £70. Our first instinct is to simply change the value of the amount received, but upon closer consideration we can see that that isn’t going to work as the system has taken that money and allocated it to various other places and accounts – the single action from our perspective has had repercussions on multiple accounts. To change the amount received we need to update all the affected accounts, which involves us looking back up the chain of events and ‘unwinding’ the process before remaking it.

Accounts are fun aren’t they? The system does this for you in most common scenarios but there may be some that it is not viable to do.

Summary

If you’ve made it this far you probably can appreciate the amount of time and effort that went into the 3.x series. When we set out, the choice was clear to us: in order to create the application that we envisaged – and was demanded by users – we had to start over, even if that meant a more difficult import process than otherwise would have been the case. I hope I have shed some light on the thought process behind it, but I’d love to see and address comments from 2.1 users (especially if they have migrated to 3.1!).

It’s been a while…

Saturday, June 20th, 2009

Been a little while since I’ve been able to post here, but I’m back and trying to keep the blog up to date!

I keep getting asked what we’re doing, and what the plans are for PI. Well, I’ll try to outline current issue, enhancements and changes in the wider context of the property market and the system as a whole.

Most of my time recently has been spent getting together v3.1 of Property Intellect. What started out as a few tweaks quickly turned into a monster update with a completely new interface and a good long hard look at how we approached certain aspects of the system. Our aim was a big reduction in complexity, more ‘obviousness’ in how things worked and general a more pleasant user experience. You never get these things 100% right, and design is always a process of iteration and a trade off between new users and existing or more demanding users.

Just released 3.1.3 a couple of weeks ago which adds some new toys that have been sitting around unfinished for some time like a pretty neat 2-way sync for Outlook.

We’ll be rolling out new stuff pretty frequently by the looks of things, so I’ll keep you posted!

Property Investor Show at Excel 19-21 Sept 08

Friday, August 15th, 2008

We’ll be exhibiting the new software range at the show so if you fancy dropping by, I’ll be on the Property Intellect stand (908) at the show so feel free to drop by and say hello! I’ll be the one with the coffee cup.

Update 18 Sept 08: Stand number changed to 908 (not unusual for these kind of shows!)