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.
Automatically Update Note Flag
Delete All and New Financial Year
Switching between different files
Cars, Drivers, Reasons, Types, Clients and Purchased
Multiple versions of Excel running
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
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 |
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 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.
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%.
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.
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 |
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.
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.
· 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.
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.
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.
Do not manually alter XML files!
To run this software you need: Microsoft .NET Framework Version 1.1. We recommend that you use 800x600 or higher pixels resolution.
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. |
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.
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.
This menu item produces summary report for all stored data.
This menu item prints a blank form that can be used to detail your trips or purchases for subsequent data entry.
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.
When you exit the system saves the current data to a disk file.
Unlocks all trips within the current view.
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.
Finds the first occurrence of any value within the current view.
Handy way to display selected trip after a scroll.
All of displayed records are permanently deleted. Before you delete records we recommend that you use Tool Export XML File to create a backup.
All export functions export the current view i.e. records you see displayed.
Creates CSV file of the current view.
Starts Excel and export the current view to it.
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
Exports data XML schema. This can be used to interface Car Logbook Pro data to other systems.
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.
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.
This function will upgrade older version of data file to the latest version.
This function will check if the software is up to date.
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.
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.
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.
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
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.
Imports a text file which contains one item per line.
Adds imported/entered unique values to the reference table.
Deletes an item that which not used in trips.
Replaces all occurrences of an item in the trip table and the underlying table.
A view is defined by a sort sequence and a filter. It can be saved and reset at any time.
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”.
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.
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.
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.
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.
· 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
Double click on a record to edit it.
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…
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.
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.
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.