Open Cash Drawer Report Log

The results is this report that details who and when opened the cash drawer

Step 1 - Create a Task Type
Manage>Settings>Task Types>Add Task Type

Step 2 - Create an Add Task Action
Manage>Automation>Actions>Add Action

Step 3 - Add the Add Task Action to your Open Drawer/No Sale Rule

Step 4 - Create the Open Drawer Report
Manage>Reports>Reports>Add Report

[Open Cash Drawer Report:1,1,1]
{REPORT TASK DETAILS:T.Name,T.StartDate,T.StartTime}

Everytime your cash drawer is opened using your cash drawer opening auto command it will create a log of the person, date and time it was opened as shown at the start of this tutorial


Could we specify a reason for draw openings too to show in that report? For example a person could lets say press own cash draw and the auto command has some values a user picks. What would we put inn the report to sow that reason also?

Yep thats my next addition, theres a custom field entry that im going to use an ask question to select a reason for opening the drawer

Im struggling to get the correct report tag to read the custom field, might need @Jesse to show me how to add a custom field and what tag to use in reports to read it :grinning:

1 Like

Pretty sure the syntax for the Add Task Action Custom Field parameter is simply:


In the Report, Custom Field data is accessed via:

TSC.<custom field name>

1 Like

@Shivan here is the first way and the simplest

  1. Amend the Task Type by clicking “add” to add a custom field and call it Reason

  2. Amend the Add Task Action in your open drawer rule and add following to the Custom Field Box as below


Now when your open drawer button is pressed a popup keyboard will appear to ask you to type the reason for opening the cash drawer, as shown below

  1. Update your report settings to the below:

    [Open Cash Drawer Report:1,1,1,1]

    {REPORT TASK DETAILS:T.Name,T.StartDate,T.StartTime,TSC.Reason}

1 Like

In fact, you don’t need that step. You can append Custom Fields in the Action via the Rule (as you have shown), even without defining them in the Task Type, and you can also Report on that Custom Field, even though they are not defined in the Task Type.

In this particular case of using Tasks for Logging, it certainly doesn’t hurt to define it. But when it comes to Task Printer, if you don’t want to see Custom Fields on the Task Cards in the Task Editor Widget, then don’t define them in the Task Type… otherwise they will show up and can tend to clutter the Task Card display.


Second way, using an ASK QUESTION with defined reasons so cashier selects one option.

  1. Instead of adding the Add Task action to the open drawer rule add an ASK QUESTION action instead as shown below:

In the Auto Command Field type “Add Open Drawer Reason” this will be used in another rule

The buttons i have used are:
<bold>Incorrect Change given</bold>=Incorrect Change Given:White;Grey,<bold>Swap Change for Customer</bold>=Swap Change for Customer:White;Grey,<bold>Add Change to Till Float</bold>=Add Change to Till Float:White;Grey,<bold>Till Skim</bold>=Till Skim:White;Grey

  1. Create a new Automation Command Executed Rule as below:

Ensure the custom constraint exactly matches the auto command field from the ask question we created, highlighted in the red box

Then add the Add Task action to this rule as shown above and enter the following in the custom field box:


This will use the label on the button selected for the reason for opening the cash drawer and add it to the custom task Reason field when reporting as shown below:


Nice this is perfect. Ive always had the open draw with values set but this would woek better

That screen layout messes with my CDO lol

Is this any better for your OCD @GreatShakesBar ? Thats as close as i can get it using additional spaces lol


How about this? you cant edit the format so etc doesnt work and you cant centre the text, it is as it is

1 Like

This post is so awesome - Thank you @RickH :smile:

1 Like

Is there a way to count the events i want to show them in workperiod report
like this

Incorrect change given : 4
add change till float: 4
till skim: 2

Just curious but how would you record incorrect change given? I mean how would you know?

Yes I know i will be hard, but that’s why we have cctv set it up to send info of almost every op of samba, my guess it will be to store and count the command value, also i will compare tickets sales against open drawer count

1 Like

Hi, is there a way to count the number of time that the till is open when you do this ?

Yea, i do this using settings, heres my Z read that shows number of times the drawer is open

You just add a update program setting action to increase by 1 every time the open drawer auto command button is pressed and then reset it back to zero on work period close. Add the action to your open drawer rule

then to report on on it use this below (as in the settings for the report shown above)
[=F(TN('{SETTING:Open Drawer}'),'0')]

Yes, update a program setting as part of the automation.

Then add this rule to reset the value back to zero on work period end, using update program setting with delete option selected