Tracking 2 Till Cash and Shifts

I wrote it as an answer to a question Cash 2 tills seperately but later I decided to move it to a tutorial topic to increase visibility. This tutorial is about tracking 2 till cash accounts separately and consolidating them to a main cash account on shifts.

If you need to know a total of “something” it will be a good idea to focus on accounting system. Now I’ll try to implement my idea by using accounting features and add step by step instructions. Please keep in mind I’m just trying to show you how certain SambaPOS features works. This is not the only possible solution. Since every business needs are different it will be better to try to understand how it works and implement your own solution.

While preparing this tutorial I made few changes to map entity screens to terminals. Please download latest version (4.1.36 or later) to test sample database.

I’ll start by creating two terminals.

I’ll create two additional Cash accounts.

First one for Till 1

… and the other one

I’ll create two payment types for both accounts.

I’ve labeled is as Cash 1 so I’ll know Till 1 settled that.

I’ll also map that payment type to Till 1 terminal

I’ll clone new payment type from Cash 1, name it as Cash 2, set account and map it to till 2 terminal.

I’ll also change Cash payment template mapping to Server terminal so users won’t see two Cash buttons.

I’ll also Sort payment types to display cash buttons on top.

I’ll go in front of both terminals and set their Terminal setting.

This is how Till 1 terminal’s local settings should appear.

I’ll also do the same for Till 2

Now Payment Screen for Till 1 should appear like this.

… and Till 2 should appear something like this.

That means Cash amount will be stored under related accounts.

Now we need to merge till accounts on a consolidated account on shift.

I’ll create a new account type and a Main Cash account. You can name these as your business needs. These account types should be different than Payment Accounts

First I’ll create the account type

… and the account.

On shift we’ll transfer till cash to Main Cash account. So we need to create an account transaction type.

This transaction will transfer amount from till to main cash. Since we have multiple till accounts we’ll leave default source account empty. We’ll set it later.

I’ll create a Account Transaction Document type to create a transaction document for shift.

I’ll create a rule to automatically display transaction documents so no mapping is needed. I’ve configured Name, Account Type and Document Type.

We don’t want users to access accounting screen so I’ll create a new department to create a custom screen for users. They’ll click on Shift button to complete shift operation.

I’ll create two entity screens for till 1 and till 2.

I have to assign a Ticket type and View Mode will be Custom.

From Entity List screen I’ll choose Entity Type as Customers. Selected Entity Type is not important but I have to select one to enable this screen.

I’ll map this screen to Till 1 terminal.

I’ll customize entity screen to display an Automation Command button.

Now I’ll configure what will happen when I click Shift Button. First I’ll create a new Automation Command

I’ll create a new Action to Display Shift Document for Till 1

… and create a rule to execute this action (display shift document) when we click Shift Button.

Finally I’ll map Entity Screen Button to Automation Command.

So When I click Shift Button Shift Till1 command will execute and Shift Till 1 Rule will start Shift Till 1 action to display transaction document.

To keep this tutorial short I’ll skip operations for Till 2. Briefly you need to do these:

  • Clone Shift Till1 automation command and create Shift Till2.
  • Clone Shift Till 1 Action and create Shift Till 2 action. Set Account Name to Cash Till 2. Correct Description
  • Clone Shift Till 1 Rule and change it to handle Shift Till2 command. It should execute Shift Till2 action.
  • Clone Till 1 Shift Entity screen, change configuration for Till 2 and customize button to execute Shift Till2 command.

Finally change All Tables, Customers and other possible Entity Screens mappings not to display for Shift department. This is how I configured my Entity Screens.

To test terminals you can go to Local Settings, change terminal (eg. Till1) , log off and test how it works for selected terminal.

Now I’ll test Till 1

I’ve cleared existing transactions for testing.

Till 1 settles 22.25.

Cash Till 1 displays 22.25.

User switches to Shift department and clicks Shift button.

He lefts $2.25 in cash and receives $20

This receipt automatically prints.

Next user settles 9.75

We should have $12 in Till 1 cash. (9.75 + 2.25)

User shifts with $12

This is what gets printed.

This printout displays only active work period transactions so when I restart work period it will list transactions from day start.

I’m skipping details about automatic printing and closing tills automatically when work period ends. You can find implementation details in sample sdf file.

Please feel free to ask questions.



In this implementation, you have create cash accounts for different tills, do we need to create other payment types for different tills ?

Payment types can be used across different accounts. You do not have to have separate payment types.

In this tutorial, he created different payment type for two terminals.

If we want to track CC, do we need to create CC for different terminals

Sorry I misunderstood you. If you want to track Credit Cards the same way then yes. Although the reason to track money is specific there is really not that reason to track CC unless you just want it that way for your own personal reasons.

I am having difficulty switching the shift on next user login.

I moved 11 posts to a new topic: Question about Tills

I moved a post to an existing topic: Question about Tills