Daily, Weekly

Daily or Weekly Reports are optional Reports and just in the process to be added to TimeTracker.

work-in-progress

TBD

Customer Reports

Let your Customer confirm your Work

Some of you probably know this:

You did some work at customer site and at the end of the month you send out the Invoice.

Then some time later you get a feedback from customer that there’s something wrong with the billed hours and a long story starts while you’re waiting to get paid …

TimeTracker can help you and let the Customer sign the work done immediately as it was done and signed Report will be sent via Mail to your Manager and also to your Customer.

Here’s the workflow:

Start your work as usual:

  • Select Category
  • Enter Details
  • Verify Start Time

cust_rep_workflow_A_B_C

At the end Stop your Time:

cust_rep_workflow_D

Don’t forget to toggle “Sign Report” to ON ! TimeTracker will save the Tracked Time and automatically opens the Customer Report:

cust_rep_workflow_E

The Report is filled out from tracked Time and you can insert some remarks (Multi-Line TextArea).

Now let your Customer do the Signature:  Tap on the Signature Field or the Action: TimeTracker switches to Landscape:

cust_rep_workflow_F

Let your Customer sign and tap on ‘Save‘: the Signature is inserted into the Report:

cust_rep_workflow_G

If you don’t like the result feel free to tap again on the Signature Field.

As next tap on ‘Send Report‘ – a Dialog Box comes up to verify:

cust_rep_workflow_H

Hint: you must connect a Message Account to be able to send the Mail. If not done please go to Application Menu Settings Connections.

Now the Report will be sent out as a formatted HTML Mail to your own Mail Address and cc: to your Customer – both will receive a Mail like this one:

customer_workreport_mail

Customer Reports and Signature Files will be stored local inside your secure sandbox together with the Tracked Time – so you can later have access to this report easy. Here’s the Tracked Data from above in List of Open Tracked Times:

customertime_in_list

Tap on the Row and get the Details:

cust_rep_workflow_J

Toggle ON ‘Show Report‘ :

cust_rep_workflow_K

Now you can resend the report to Customer if a copy was needed.

Signed Customer Reports will help you to avoid misunderstandings with Customer: your work will be signed immediately as it was done 🙂

Curious How the Signature was done ?

I have to say a big THANKS to Roberto Speranza‘s (@RSSessantotto) libview Library available at Github 🙂

libviews

Accounting Report

Accounting Reports must be done monthly. From Application Menu Settings – Account you can define your Accounting Period. If a Calendar is connected, you can also get a Reminder as Calendar Event.

TimeTracker also reminds you in different ways:

  • If APP is minimized
  • Marking Tabbed Pane with a star
  • Showing a Bell at HomeScreen

Here’s the minimized view:

Q01

You see that my Report is due since 106 days. To document the workflows on this device I have three months open.

From Homepage you see the Bell and the Marker from TabbedPane. The Bell is animated.

Q02

Cascades makes it easy to animate Objects. Here’s the code:

Container {
    id: dueContainer
    visible: false
    onVisibleChanged: {
        if(visible){
            rotateBell.play()
        } else {
            rotateBell.stop()
        }
    }
    horizontalAlignment: HorizontalAlignment.Right
    verticalAlignment: VerticalAlignment.Top
    ImageView {
        imageSource: "asset:///images/ca_notification_unread.png"
    }
    gestureHandlers: [
        TapHandler {
            onTapped: {
                rootPane.goToReportingTab()  
                visible = false
            }
        }
    ]
    animations: [
        SequentialAnimation {
            id: rotateBell
            repeatCount: AnimationRepeatCount.Forever
            RotateTransition {
                fromAngleZ: 15
                toAngleZ: -15
                duration: 600
            }
            RotateTransition {
                fromAngleZ: -15
                toAngleZ: 15
                duration: 600
            }
        }
    ]
    function onAccountingDueChanged(state){
        visible = state
    }
    onCreationCompleted: {
        visible = monitorTime.isAccountingDue()
        monitorTime.accountingDueChanged.connect(onAccountingDueChanged)
    }
} // dueContainer

Let me explain some cool concepts of Cascades UI development.

To make it easy to maintain I created a Container (dueContainer) and this Container lives inside a DockLayout from HomePage. To position the Bell Image I set Horizontal Alignment to right and Vertical Alignment to Top.

By default the Container isn’t visible (set to false)

on creation time I’m checking (logic in C++) if the Account is due and if yes, setting the visible property to true. Also I’m connecting a Signal from C++ (accountingDueChanged) to a QML function (onAccountingDueChanged) working as a Slot. Signals and Slots are a powerful architecture to send and receive events asynchron. Later on when Account Reporting is done, my C++ logic will send a signal and the bell will disappear by magic or come back if next due date is reached.

Take a look at the visible property: as soon as the value changes the onVisibleChanged() function will be called – again Signal and Slot concept. If visible I start the animation (rotateBell.play)

rotateBell is a simple sequential animation moving the bell. The animation is directly attached to the ImageView.

There’s also a GestureHandler attached: a TapHandler: as soon as the User taps on the Bell the Reporting Tab will be opened and setting the bell to invisible will also stop the animation.

Doesn’t matter if the user taps on the Bell or goes to the Report Tab – this Page will be opened:

Q03

This Page is a Dynamic Page – the content will be different and depends from

  • is Accounting due ?
  • is Accounting today ?
  • is all Accounting done ?

In this case I’m getting the information that my Report is due since 106 days for Accounting Period March 2014.

From ActionBar I can jump to current History (old Accounting Reports), List of Open Tracked Times (no Accounting done) or directly start creating my Accounting Report (see blue arrow)

Accounting Report is automatically filled out:

Q06

You can control the sums of hours per Category. Also you can verify and also modify (if allowed) the tracked times: all tracked times for this Accounting Period are attached to the Report and you can get the list by tapping on the ‘Attached’ Icon in the middle. Then it looks the same as from List of all Open Times – only filtered for this report. More information HowTo verify and change tracked times see here. Changing Categories of times will automatically re-calculate the sums.

Scroll down and you can add some remarks for your Manager and you can sign the report, if Signature is required from Settings.

Q07

Tap on Signature Field or Signature Action. Full Screen can be used to sign. If working on a pure Touch Device, TimeTracker automatically changes Orientation to Landscape. (See Customer Reports)

Q08

Sign and Save:

Q09

You can attach the tracked data to this report and you can suppress empty rows. If all is prepared, save the Report. You must confirm:

Q11

Then the Report will be sent out and your Report Page tells you that there’s another Report Due:

Q12

The sent Report itself looks like this:

Q13_14_15

Jumping over to History Tab we’ll see the Month there:

Q16

More Infos on History here. Back to the Reports Tab:

Q18

Q19

Create and send your report for April – now it looks better: only 16 days due

Q20

One more Accounting Report and you’re done:

Q21

History now has 3 months:

Q22

Hint: History of May is missing, because there were no Times Tracked in May.

Minimized View (ActiveFrame) also looks much better now 🙂

Q23

More Infos on different kind of TimeTracker Reports: