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
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
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
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
Finally I’ll map Entity Screen Button to Automation Command.
So When I click
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:
Shift Till1automation command and create
Shift Till 1Action and create
Shift Till 2action. Set Account Name to
Cash Till 2. Correct Description
Shift Till 1Rule and change it to handle
Shift Till2command. It should execute
Till 1 ShiftEntity screen, change configuration for Till 2 and customize button to execute
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
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.