I have written a little about our order system on Twitter, and I must admit that I get more and more happy about it each day. What tools do you use for order management and time tracking?
I have introduced the company before, 2Krogh, a small design agency in Århus, Denmark. We have a lot of orders coming in and out of the office, and many people are working on the same jobs, so it is essential to have a functioning order and time tracking system. Therefor I developed a system in raw PHP for about 2 years ago, and this is the base for the newly fully rewritten system we are currently using today, made with CakePHP.
I will try to make a short tour of the system here, starting by explaining it in a few sentences.
With the order system we can ...
- create an address book of clients, and our contacts at the clients
- create new orders, attached to a client and client contact person, with order numbers generated automatically.
- track time used on the order.
- set an hour rate per employee to help writing invoices, and generate estimate income for ongoing orders in a given period.
- generate lists of orders, for given time periods, with detailed information about income, hours spent etc.
- add purchases and sales to orders to see how much has been earned for a single order.
- write an invoice which is saved as XML ready to import to an InDesign template, with all data pre-written, VAT calculated etc.
Order system walkthrough
To be able to add invoices, you will first need to create a client and add a client employee, for you order contact person.
Adding a client.

When adding the client you also need to select which of VAT zone the client is in, to be able to automatically calculate VAT on invoices. Adding an employee looks about the same. Adding either of these will create an entry in our LDAP database, making sure that all phone numbers are to be found on and recognized by our desktop phones, e-mails in e-mail applications etc.
When a client and client employee is added, you can add an order. On the order you have the option to describe the order in details and adding different deadline dates. Adding these dates will add an entry in the system users calendars, since the system publishes an .ics calendar everybody subscribes to. Further, the system also creates a folder on a shared IMAP account, making everyone able to move e-mails related to the order to a shared destination, where everybody has access.
Adding an order.

Shared IMAP user.

When the order is added, it is possible to track the time on the order. Selecting an order is easy, as drop boxes with orders are updated depending on which client is selected in the client drop box. With a date selected, there is only room for a descriptive text and how many hours is used that given date.
Tracking time.

To track time even easier, I am currently developing a Dashboard Widget with a stopwatch, where it is possible to select a specific order, start the timer, pausing, or stopping and submitting it automatically.
The order list is most important, in my opinion. Here we are able to output a list of all orders, for many different purposes. Historical, overview of open/active orders, to make an estimate of ongoing work etc.
Order list.

For the single order it is of course possible to get an overview of spend hours and their value. It is also possible to send an automatically generated order confirmation to the client contact person, with sales- and delivery terms etc. attached.
Single order view.

Furthermore you can add sales, purchases and invoices to the order. Adding an invoice creates an XML ready to import to an InDesign template, leaving almost no manual work.
Writing an invoice.

Besides this, there are several extra smaller details in the system, but this should give a clear picture of it.
How do you handle your order management and time tracking?
Comments
lowJackson wrote:
I've been look for something as clear as this for a long time, do you have any plans to make it commercially available?
Jive wrote:
I'm currently learning InDesign and have learned much from your podcasts and posts. You mention that you export the invoice data as XML to import into an ID template. How do you manage the XML structure and ID layout of the invoice's line items? Do you have multiple "records" in the XML (e.g. <item>...</item>) for each line item or is each line item differentiated in the XML (e.g. <item1>...</item1>), each of which is manually matched up to line in the ID template? My main reason for asking is to find out how dynamic and flexible ID can be for invoicing and other data-centric documents and whether I should look into using it for such things (as opposed to using software such as Excel for invoices).
Thanks.
Silkjaer wrote:
lowJackson: That is unfortunately not planned.
Jive: Lines are added as multiple records (named the same) in the XML. In my case, we don't have that many lines on our invoices, so they are just added to a text box.
InDesign is really flexible with XML, and can be further improved by using scripts to import/process the XML in more complex ways. You should definitely look into it!
Evgeny Trefilov wrote:
>To track time even easier, I am currently developing a Dashboard Widget with a stopwatch, where it is possible to select a specific order, start the timer, pausing, or stopping and submitting it automatically.
Actually, there is one already (with a widget).
http://www.timeedition.com/en/index.html
It is even opensource now, so maybe you'll be able to integrate it.
http://sourceforge.net/projects/timeedition/
Jive wrote:
Thanks, I'll definitely take a deeper look at ID for dynamic documents.
Time tracking Dashboard widget - Thomas Silkjær wrote:
...A couple of weeks ago I posted a short presentation of our custom order and time tracking system at InDesigning.net.To accompany this web based system I have developed a Dashboard time tracking widget which interact...
mano wrote:
Dear Thomas,
The time tracking system which you have described is ideal for small and medium scale professional service providers. As noted, it is sad you are not commercialising it. My website is hosted on an apache system; cant afford fees for more sophisticated ones. I beleive your time tracking system will run on apache. Will you consider sharing your system on a non-commercial basis?; of course, a small fee for your effort will be forthcoming!!
Cheers,
Mano
Write a comment!