Car Logbook Professional

This system tracks the business use and cost of vehicles.

 

“Report by car” complies with Australian Taxation Office (ATO) rules refer   http://www.ato.gov.au/individuals/content.asp?doc=/content/16377.htm

 

The ATO rules could apply to you alternatively you can produce your own reports to satisfy your taxman. Please note that financial year/quarter is defined by a trip start date.

 

To run it you need Microsoft .NET Framework Version 1.1 installed. It is a single user system.

 

Version Pro upgrade

Data

Record types

Marker records

Distance calculations

What can go wrong

How to read note field

Warning

Data entry

Warnings

Storage

Security

Warning

System Requirements

System objects

File menu

Save

Print

Report By Car

Print Blank Form

Views

Exit

Edit menu

Unlock

Lock

Find

Goto to selected

Delete

Tools menu

Warning

Export to CSV file

Export to Excel

Export to XML file

Export XML Schema

Import XML File

Recovering from backup

Upgrade Data File

Check For Upgrade

Settings

Financial year

Automatically Update Note Flag

Delete All and New Financial Year

Switching between different files

Cars, Drivers, Reasons, Types, Clients and Purchased

Import

Add

Delete

Replace

Views

Sorting sequence

Filter

Setting filter

Reading a filter

Simple filter

Compound filter

Adding new record

Editing a record

Capacity

Known issues

Multiple versions of Excel running

Creating Excel output is slow

Printing Bug

 

Version Pro upgrade

To upgrade data file from Car Logbook please use  Upgrade Data File

The professional version has the following new features:

·         Report printing

·         Records are identified by icons

·         Records in error are display in red

·         Note legend is displayed

·         Odometer value is supported to 2 decimal places

·         Function  - Add from XML removed

·         Exporting data to CSV file or Excel

·         Licensed product has additional feature

o        Purchases can now be stored and tracked

Data

The heart of the system data is Trips table which contains all trip data. To change stored values you must use provided replace/delete commands or alter/enter them manually. Trips table contains:

 

Column

Description/comment

Type

ID

Sequential reference identifier managed by system.

Integer

Locked

Trip locked/unlock flag managed by system

Yes/No

Marker

Marker flag managed by system

Yes/No

Purchase

Purchase flag managed by system

Yes/No

Car

Car name. It should contain registration number

Text

DateStart

Trip start date in the form yyyy/mm/dd

Text

DateEnd

Trip end date in the form yyyy/mm/dd

Text

OdoStart

Start of a trip odometer value

Number

OdoEnd

End of a trip odometer value

Number

Traveled

OdoEnd – OdoStart

Number

Driver

Person who drives the car and will lodge tax claim

Text

Client

Client you are visiting

Text

Reason

Trip reason

Text

Type

Any classification, can be accounting code

Text

Purchased

Purchased

Text

From

Supplier of a purchase

Text

Units

Number of units purchased

Number

Cost

Cost of the purchase

Number

FinYear

Financial year calculated from DateStart

Text

QRT

Annual quarter ,first quarter is Jan-Mar, yyyy calculated from DateStart

Text

Note

Identifies any detected data inconsistency

Text

Record types

The system supports two types of records – Trip and Marker. Trip record describes business journey and marker is used to store odometer value and purchases.

Marker records

Marker is used to record odometer readings. This is needed to determine how far a car has traveled during a period.

 

For each car you need:

§                     Marker record for the period start

§                     Marker record for the period end

 

If you reporting by quarters you will need marker records for each quarter.

Purchase is a special type of marker.

Distance calculations

For selected time period the distance and business use is calculated as follows:

It is assumed all trips are for business use

Total Distance Traveled = Highest Odometer End – Lowest Odometer Start

Traveled = Odometer End – Odometer Start for each trip

Percentage = 100 * (Sum of Traveled)/ (Total Distance Traveled)

 

Please note the system doesn’t rely upon presence of marker records. If no marker records are present then it will select highest and lowest values from trip records. In that case business use is 100%.

What can go wrong

The system expects odometer reading to be sequential with appropriate dates.

 

For example

 

Date Start

Date End

Odometer Start

Odometer Start

2004/01/01

2004/01/01

11,111

11,130

2004/02/02

2004/02/02

11,130

11,555

2004/02/11

2004/02/11

11,555

12,000

 

This example is Ok and can be entered, sorted and filtered in any order. The system will identify records which are not sequential by odometer reading with appropriate dates.

 

Invalid data examples

 

Date Start

Date End

Odometer Start

Odometer Start

2004/01/01

2004/01/01

11,111

11,130

2003/12/31

2003/12/31

11,130

11,555

2004/02/11

2004/02/11

11,555

12,000

 

Wrong date or odometer setting.

 

Date Start

Date End

Odometer Start

Odometer Start

2004/01/01

2004/01/01

11,111

11,130

2004/02/02

2004/02/02

11,130

11,555

2004/02/11

2004/02/11

10,000

11,000

 

Wrong odometer setting.

 

We recommend that you always check the Note column for any data inconsistencies.

How to read note field

Note is created for all stored records which are sorted into OdoStart, OdoEnd, Marker DESC, and ID order.

 

Each record is compared to the previous one and the following errors are checked for

 

Error

Meaning

?

Not updated

(dup)

Duplicated

(o s,e)

Current record odometer start value is lower than previous record odometer end value

(o s,s)

Current record odometer start value is lower than previous record odometer start value

(o e,e)

Current record odometer end value is lower than previous record odometer end value

(d s,e)

Current record date start value is lower than previous record date end value

(d s,s)

Current record date start value is lower than previous record date start value

(d e,e)

Current record date end value is lower than previous record date end value

Warning

The system checks only previous record i.e. it doesn’t detect compounded errors. There is only one record stored for a car there is no way to check it.

Data entry

To facilitate the sequential data order the system will provide default values for a new trip. These are derived from the last entered record. Whenever possible use existing values stored in combo boxes. The system will automatically add any new text value.

Warnings

·         If you change car name the system keeps suggested values. To make sure that you get a valid starting values click on [Last Trip] button.

·         Closing Add/Edit forms without clicking on [Ok] button doesn’t update data i.e. it acts as [Cancel] button.

·         All text values are stored in lower case.

Storage

All data is stored as XML files and is checked for XML integrity. It also stores logical relationships such as ‘>’ i.e. Greater than. Which means that characters  <>~[]{}*%"' are not allowed.

Security

There is no security provided. All XML files can be viewed and altered via notepad. Please note that the level of security is equivalent to a spreadsheet which is not password protected.

Warning

Do not manually alter XML files!

System Requirements

To run this software you need:  Microsoft .NET Framework Version 1.1. We recommend that you use 800x600 or higher pixels resolution.

System objects

The system creates following objects in its domicile directory:

 

Object

Comments

Car Logbook Pro Data.xml

Stored data

Car Logbook Pro Log.txt

Log of all messages issued by the system. It is used to debug the system.

..\BackUp

Back up directory

…\BackUp\Xn.xml

Back up files which are numbered from X0 to X9 and contain copies of Car Logbook Pro Data.xml.

X0.xml is the latest copy.

File menu

Save

Saves the current data to disk file. When you close the system it will save the current data to disk file. We suggest you use this command when you are entering large amount of data or have a premonition that PC is about to crash.

Print

This menu item gives you an option:

§                     To select print columns

§                     Change print column order

§                     Save print selection

 

Please note that only the current view is printed.

Report By Car

This menu item produces summary report for all stored data.

Print Blank Form

This menu item prints a blank form that can be used to detail your trips or purchases for subsequent data entry.

Views

A view is defined by the current setting of sort sequence and filter. You can save the current view and later on load it later. There is only one view active at any time. The system will remember the current view and will reapply it on the next load.

Exit

When you exit the system saves the current data to a disk file.

Edit menu

Unlock

Unlocks all trips within the current view.

Lock

Locks trips within the current view. Trip locking is used to protect data. Locked trip can’t be deleted  or edited. We suggest that once you verify your data you lock these trips.

Find

Finds the first occurrence of any value within the current view.

Goto to selected

Handy way to display selected trip after a scroll.

Delete

All of displayed records are permanently deleted. Before you delete records we recommend that you use Tool Export XML File to create a backup.

 

Tools menu

Warning

All export functions export the current view i.e. records you see displayed.

Export to CSV file

Creates CSV file of the current view.

Export to Excel

Starts Excel and export the current view to it.

Export to XML file

Exports the current view to XML file. That file can be imported into Car Logbook Pro system.

 

Potential uses for exported XML file are:

 

§                     Taking a check point , for example every quarter

§                     Sending data to another system

Export XML Schema

Exports data XML schema. This can be used to interface Car Logbook Pro data to other systems.

Import XML File

Imports Car Logbook Pro XML file. Please note all of data is replaced by an imported file.

We recommend that you:

 

·         Set filter to nothing i.e. Not filtered

·         Export current data to file say Current.xml

·         Import a file.

 

 

Potential uses for importing:

 

§                     Importing data

§                     Refreshing from current disk file

§                     Recovering from backup

 

Importing  Car Logbook Pro Data.xml (current data) you will reload data from a disk. It’s a handy way to restart without saving data.

 

Please remember exiting the program will save the current data to the disk.

Recovering from backup

Every time you start the system it saves its data to back up file named Xn.xml with X0.xml being the latest copy. To recover from backup:

 

§                     Export current data to another file say Current.xml

§                     Import X0.xml

 

If it doesn’t work try X1.xml etc.

 

Alternatively look at file creation date to recover to a specific date.

Upgrade Data File

This function will upgrade older version of data file to the latest version.

 

Check For Upgrade

This function will check if the software is up to date.

 

Settings

Financial year

Select one of the options - "July/June", "October/September", "January/December" or "April/March". You can change this option any time; just make sure that you got it set right for the tax returns. Using different financial year settings gives you extra reporting views.

Automatically Update Note Flag

The system will automatically check for duplicate and conflicting records and store its findings in a note field. With large number of records this could slow the system down. To speed the system up set this flag to off and use button Manually Update Note Field.

 

We recommend that you use the system default and keep automatically update note flag set to on.

Delete All and New Financial Year

Deletes all records. It can be used to start a new tax year, but make sure that you create a copy of current data via Tools Export XML File function.

 

We recommend that for a new tax year you should:

 

§                     Make sure all data is Ok

§                     Produce the required reports

§                     Set filter to nothing

§                     Export all records i.e. no filter set to a file Fin_Year_yyyy.xml

§                     If you have Excel then export all records to Excel

§                     Delete all  records

 

Please backup you data whenever you delete records.

Switching between different files

The system stores the current data. To switch between different data files:

o        Do your processing

o        Set filter to nothing

o        Export data to Another.XML

Cars, Drivers, Reasons, Types, Clients and Purchased

These items are used to manage reference data and all work in the same way.

You either manually enter values or import data which is then added to the data set.

Reference data is not deleted by “Delete All” button.

Import

Imports a text file which contains one item per line.

Add

Adds imported/entered unique values to the reference table.

Delete

Deletes an item that which not used in trips.

Replace

Replaces all occurrences of an item in the trip table and the underlying table.

Views

A view is defined by a sort sequence and a filter. It can be saved and reset at any time.

Sorting sequence

To set sorting sequence click on sort button.  Double click on available column item to select it. Double clicking the selected column will change sort order to/from Ascending/Descending.

 

To store and activate sort sequence you must click on [Set] button.

 

The sort button will now display sorting sequence with any Descending items abbreviated to a key word “DESC”.

Filter

This is the most controversial feature of the system. Internal debates on how to set it represented or is it to complex for users to handle are still raging. Data filtering gives you greater reporting flexibility, better error tracking and improved visibility. So here we go.

Setting filter

Click on the filter button. You find it below [Add Trip] button.

 

Select any column by double clicking it.

The system defaults to: AND Column Name =””

Double click on the selected column

You can either enter a value or select one from stored values by double clicking

Select [And] or [Or] by clicking it

Click one button [=], [<], [<=], [>], [>=]. [<>] or for text columns [Like]

Click [Ok]

 

Repeat above sequence any number of times.

 

Click on [Set] button to store and set it.

Please note that moving items up/down doesn’t alter the filter setting but it can be used to improve its readability. The first OR/AND statement is ignored by the system.

Reading a filter

Simple filter

Simple filter consist of a single column selection in the form

 

Column Name LO Value

 

Where

LO stands for logical comparison and has one of the following values

 

LO

Read as

Example

Selects trips with:

=

Equal

Car=’NXY123’

Car named NXY123

<

Less than

Traveled<100

Traveled less than 100

<=

Less or equal to

QRT<=’2004-4’

Quarters up to and including 2004-4 quarter

>

Greater than

DateStart>’2004/06/11’

DateStart after 2004/06/11

>=

Greater or equal to

ID>=33

Record identifier greater or equal to 33

<>

Not equal to

Note<>’Ok’

Suspect data

Like

Like text

Client Like ‘S*’

All clients starting with letter ‘s’

 

 

Like comparison

Like operator tests a text for starting value. The statement Like ‘Sam*’ will select all entries starting with ‘Sam’

 

Locked and Marker columns are boolean and have value TRUE or FALSE.

Compound filter

A compound filter consists a number of simple filters joined either by OR/AND logical operator.

 

Filter

Selects records all trips with:

Car=’NXY123’ AND Driver =’Sam’

Car NXY123 and driver Sam

Car=’NXY123’ AND Driver =’Sam’ AND Note<>’Ok’

Car NXY123 , driver Sam and inconsistent data

Car=’NXY123’ AND Driver =’Sam’ AND Client Like ’Company*’

Car NXY123 , driver Sam and all clients starting with name ‘Company’

Car=’NXY123’ OR Driver =’Sam’

Car NXY123  or driver Sam

 

Please note that there is no precedence set on OR/AND statements for example:

 

Car=’NXY123’ AND Driver =’Sam’ OR Driver =’Fred’

 

Will not select driver Fred as first AND is applied.

Adding new record

 

·         For new trip/marker click on trip/marker button.

o        To create a marker trip marker

o        Enter values

o        Click Ok button

·         For new purchase click on new purchase item

o        Enter values

o        Click Ok button

Editing a record

Double click on a record to edit it.

Capacity

The system is a single user and designed to handle about 2000 records on a 1000 MGH PC.

 

To reduce memory usage main records display is blanked out during major system function such as print, edit, add…

Known issues

Multiple versions of Excel running

Rating: Nuisance

 

Within .Net all resources are controlled by it. Once the system creates Excel object it has no way to do the clean up. This is done by .Net. It decides when to do release an object and do the clean up. This clean up depends on many factors and sometimes .Net fails to clean up some Excel objects.

 

What does it mean?

 

If you do a number of exports to Excel you will find a number of Excel tasks running. If you have a lot of PC memory it doesn’t matter. If you don’t .Net suppose to clean it up. Most of the time it does, but we found that occasionally Excel objects just ‘hang around’.  In that case the following very minor impacts were identified:

 

Slight reduction in performance due to unnecessary memory usage and

during the system shutdown some Excel objects issue messages ‘Task still running’ which can be just ignored or ended.

 

Creating Excel output is slow

Rating: Nuisance

 

All care was taken to speed up the process including disabling of Excel auto update functions and active displays. With newer version of Excel this process is significantly faster. The system sacrifices speed for compatibility with most versions of Excel.

Faster method is to use export function to create a CSV file and then open it with Excel.

Printing Bug

The Margin Value Decreases Every Time PageSetupDialog Is Displayed

Rating:  Nuisance

 

CAUSE

If the default measurement system is U.S., the PageSetupDialog box uses thousandths of inches as the default unit of measurement. If the default measurement system is Metric, the dialog box uses hundredths of millimeters as the default unit of measurement. By default, U.S. is the measurement system. If the measurement system is Metric, the margins are converted from U.S. system to Metric system. When the PageSetupDialog is closed, the computer saves information about the page size. When the PageSetupDialog is reopened, the computer incorrectly assumes the margin as if it was a U.S. system margin instead of a Metric system margin. The computer converts the margin to the Metric system again. Therefore, the margin reduces every time the PageSetupDialog is displayed.

 

STATUS

Microsoft has confirmed that this is a bug -  Microsoft Knowledge Base Article 814355

 

Microsoft workaround

To work around this bug, you can use the U.S. settings for the Measurement system property of the Regional and Language Options. To do this, follow these steps:

 

On the taskbar, click Start. Point to Settings, and then click Control Panel.

Click Regional and Language Options.

On the Regional Options tab, click Customize.

Set U.S. as the Measurement System property.

Click OK to save the settings.

Click OK in the Regional and Language Options window

 

Our workaround

The systems sets page margins to 1 inch and 10 centimeters. Depending on regional system setting this may not work all the time and you may need to set page margins manually. Print preview also alters the margins.