Car Logbook

This system is an applet designed to track the business use of vehicles.

The system was developed to comply with Australian Taxation Office (ATO) rules.

 

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

 

Key seach words:

Tax, Taxes, VAT, GST, ABN, Car, Logbook,Log, Truck, Vehicle, Business, ATO

 

ATO rules

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

Note update

Adjust columns

Tools menu

Export to XML file

Export Schema

Import XML

Recovering from backup

Add From XML

Settings

Financial year

Automatically update note

Delete all trips

Cars, Drivers, Reasons, Types and Clients

Import

Add

Delete

Replace

Views

Sorting sequence

Filter

Setting filter

Reading a filter

Simple filter

Compound filter

 

ATO rules

These ATO logbook rulese are as at 2003/12/31

Your logbook must contain the following information:

§         when the logbook period begins and ends

§         the car's odometer readings at the start and end of the logbook period

§         the total number of kilometers that the car traveled during the logbook period

§         the number of kilometers traveled for work activities based on trips recorded in the logbook.

§         the business use percentage for the logbook period

§         the make, model, engine capacity and registration number of the car.

For each trip your logbook must also show details of each business trip. You must write down:

§         the day the trip began and the day it ended.

§         the car's odometer readings at the start and end of the trip

§         how many kilometers the car traveled on the trip

§         the reason for the trip.

 

The logbook entries must be made at the end of the trip, or as soon as possible afterwards, and they must be in English.

 

Working out your claim

Once you have worked out your business use percentage, you can apply it to your car expenses. You need to keep written evidence of all your car expenses except for fuel and oil costs—for example, registration, repairs, interest and insurance.

 

Step 1

Add up your total expenses for fuel and oil, registration, insurance, interest, repairs and maintenance, the decline in value or lease payments and any other costs of running your car.

 

Step 2

Using your business use percentage, work out the business portion of your total expenses from step 1. This is the amount you can claim.

 

Additional information

This system stores Client and trip Type which is not required by ATO and can be used in reporting.

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

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

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.

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.

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)

 

There is two ways you can select a period either by setting a filter or using standard report in which case the period is set to a financial year.

 

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 odemeter 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 odemeter 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 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 form without clicking on [Ok] button doesn’t update data i.e. it acts as [Cancel] button.

 

The system is capital case insensitive i.e. “Mike” is equal to “mike”. Once new text value is entered you will not be able to change letter case.

Storage

All data is stored as XML files and is checked for XML integrity. 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 and Microsoft Internet Explorer. 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 Data.xml

Stored data

Car Logbook Message Log.txt

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

..\BackUp

Back up directory

…\BackUp\An.xml

Back up files which are numbered from A0 to A9 and contain copies of Car Logbook Data.xml.

A0.xml is the latest copy.

Printout.htm

System output which is sent to Internet Explorer

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

The system writes all of its printout to a HTML file and opens it with Internet Explorer.

 

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 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. 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, edited and copied. 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.

Note update

The system will update note field for all trips after add, edit, paste, delete and add from XML.

If automatically update note option is set to off use this menu option to update notes.

 

Automatically update note option should only be set to off when system is running slow due to the large number of records.

Adjust columns

Resets columns widths to  a maximum length of data contained within it.

 

Tools menu

Export to XML file

Exports all of data to XML file. That file can be imported into Car Logbook system.

 

Potential uses for exported XML file are:

 

§                     Taking a check point , for example every quarter

§                     Sending data to another system

Export Schema

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

Import XML

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

We recommend that you export current data to file say Current.xml before importing any files.

 

Potential uses for importing:

 

§                     Importing data

§                     Refreshing from current disk file

§                     Recovering from backup

 

Importing  Car Logbook 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 An.xml with A0.xml being the latest copy. To recover from backup:

 

§                     Export current data to another file say Current.xml

§                     Import A0.xml

 

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

 

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

Add From XML

Adds records from  Car Logbook XML file to an existing set. Please note the system checks for duplicate records and will not add these. This facility can be used to merge data from multiple sources into a single file.

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

The system will update note field for all trips after add, edit, paste, delete and add from XML.

When you click on [Ok] button during trip add or edit the system will also scan all trips to make sure that no new inconsistency is created. This is computing intense.

 

This flag sets automatic note update to on/off. It should only be set to off when system is running slow due to the large number of records.

Delete all trips

Deletes all trips. It can be used to start a new tax year, but make sure that you create a copy of current data via export to XML command.

 

We recommend that for new tax year you should:

 

§                     Create a new directory

§                     Copy the system and its data into the new directory

§                     Delete all trips

§                     Refrain from “Deleting” not used items (you want to keep all of the last years reference data)

Cars, Drivers, Reasons, Types and Clients

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.

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. You find it after a [Print] 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’

 

Please note that system is letter case insensitive ‘A’ = ‘a’, ‘B’ = ‘b’.. etc.

 

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.