SambaPOS 5.3.4 Release

For the memory of Emre Eren 1976 - ∞

:arrow_down: Download:

:warning: Don’t forget to create a backup before installing new releases. You’ll need a working backup if you need to roll back to the previous version.

What’s new in 5.3.4

  • Split Ticket and Split Product feature added. You can use this with creating an Automation Command and use Split Ticket Action
  • Sending data to scale devices added
  • Workperiod number added to workperiods
  • Logging Automation Commands which accepted by admin added
  • Mark Opened and Remove Mark Opened actions added for tickets. You can lock ticket and prevent open by others. Also you must select this in User Roles
  • Google Calendar Libraries updated.
  • 7Shifts Employee ID added to User
  • Ordertag prices sum (OTP) and calculation (CA) added to report payment details in reporting
  • AutomationCommandLogs added to Ticket Detail report with AC keyword
  • Workperiod start by and workperiod end by tags added to report
  • Legal page added

Can you explain this very well.

We are building a 7shifts integration.

This feature is not live yet but it will allow punches in 7shifts.


Would this stop the ticket from adding orders to it as well?

It prevent opening only.

WOW Great features :star_struck: :heart_eyes:


We are preparing documents about this features. We will share them in KB.


Yes me and vehbi Faught until we bleed over them.

1 Like

for the split ticket to work do you have to use tables? i dont, so i tried split ticket straight from the open ticket but it threw an exception and closed

So i thought maybe the ticket need to be closed and updated in the database first so i created automation to add a ticket tag, close the ticket and then re-open the last ticket and then split. everything works fine until the split ticket action fires and I get the error again

Any ideas what this error means?

[General Info]

Application: SambaPOS
Version:     5.3.4
Region:      en
DB:          SQ
Machine:     DESKTOP-RA2FJG0
User:        higgi
Date:        02/04/2021
Time:        21:40

User Explanation:

higgi said ""

[Exception Info 1]

Top-level Exception
Type:        System.Reflection.TargetInvocationException
Message:     Exception has been thrown by the target of an invocation.
Source:      mscorlib
Stack Trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Inner Exception 1
Type:        System.ArgumentOutOfRangeException
Message:     Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Source:      mscorlib
Stack Trace: at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Samba.Presentation.ClientLibrary.Modules.PosModule.Payments.SplitTicketEditorViewModel.Prepare(Ticket selectedTicket, String customGrouping) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Presentation.ClientLibrary\Modules\PosModule\Payments\SplitTicket\SplitTicketEditorViewModel.cs:line 1473
   at Samba.Presentation.ClientLibrary.Modules.PosModule.VisiblePosModule.<.ctor>b__24_9(EventParameters`1 x) in C:\Users\Vehbi\Documents\Source\Repos\sambapos-v5-pro\Samba.Presentation.ClientLibrary\Modules\PosModule\VisiblePosModule.cs:line 185
   at Microsoft.Practices.Prism.Events.EventSubscription`1.InvokeAction(Action`1 action, TPayload argument)
   at Microsoft.Practices.Prism.Events.EventSubscription`1.<>c__DisplayClass2.<GetExecutionStrategy>b__0(Object[] arguments)
   at Microsoft.Practices.Prism.Events.EventBase.InternalPublish(Object[] arguments)
   at Microsoft.Practices.Prism.Events.CompositePresentationEvent`1.Publish(TPayload payload)
   at Samba.Presentation.Services.Common.ExtensionMethods.Publish[TEventsubject](TEventsubject eventArgs, String eventTopic, Action expectedAction)


[Assembly Info]

mscorlib, Version=
System, Version=
Samba.Services, Version=5.3.7758.18495
Samba.Domain, Version=5.3.7758.18494
Samba.Infrastructure.Data, Version=5.3.7758.18494
System.ComponentModel.Composition, Version=
Samba.Presentation.Services, Version=5.3.7758.18497
System.Core, Version=
PresentationCore, Version=
WindowsBase, Version=
PresentationFramework, Version=
DevExpress.Xpf.LayoutControl.v17.2, Version=
System.Xml, Version=
DevExpress.Xpf.Grid.v17.2, Version=
DevExpress.Xpf.Grid.v17.2.Core, Version=
System.Xaml, Version=
Samba.Infrastructure, Version=5.3.7758.18490
Microsoft.Practices.Prism, Version=
System.Runtime.Serialization, Version=
Microsoft.Practices.Prism.MefExtensions, Version=
DevExpress.Xpf.Core.v17.2, Version=
System.Windows.Forms, Version=
System.Drawing, Version=
Samba.Persistance, Version=5.3.7758.18494
Stateless, Version=
PropertyTools, Version=2012.4.14.1
Samba.Localization, Version=5.3.7758.18491
ReachFramework, Version=
EntityFramework, Version=
FluentValidation, Version=
NCalc, Version=
Microsoft.CSharp, Version=
Omu.ValueInjecter, Version=
Microsoft.Practices.ServiceLocation, Version=
DevExpress.Data.v17.2, Version=
WindowsInput, Version=


[System Info]

Operating System
-Microsoft Windows 10 Home
--CodeSet = 1252
--CSDVersion = 
--CurrentTimeZone = 60
--FreePhysicalMemory = 1844216
--OSArchitecture = 64-bit
--OSLanguage = 2057
--ServicePackMajorVersion = 0
--ServicePackMinorVersion = 0
--Version = 10.0.19041

--Manufacturer = Microsoft Corporation
--Model = Surface Pro 7
--TotalPhysicalMemory = 8156008448
--UserName = DESKTOP-RA2FJG0\higgi


You have to use an entity yes. If you want to split a ticket that is not submitted yet then use Save Ticket action first.

It is creating new tickets. As you know you can not close a new ticket unless it has an Entity assigned. These new tickets will copy into the new table entity if Copy option is checked in Ticket Type. It will not work with just ticket tags as it does not create a ticket tag.

We can improve this feature of course. Right now:

  1. Requires Tables to work properly (Or an Entity)
  2. Must submit or use save ticket action to split a ticket it will not split an unsubmitted ticket.
  3. Right now if you split an item you can not reverse that, (we are working on this)
1 Like

Ill try with an entity instead if ticket tag cheers Jesse

It almost works, i can now get into the split ticket screen, i can create another ticket on the screen but when i click an order from the first ticket and then click the second ticket to add it instead of staying on the screen the product is moved and the second ticket closes off the screen

When checking my open tickets it has correctly opened another ticket and moved the item from one to the other, but every time i try to move an order on the split ticket screen the new ticket closes straight away instead of remaining on the screen, any ideas?

You have to have entity mapped to ticket type and Copy marked.

Perhaps this information should be added to KB.

That now works, next issue is the button you press to go to the settle screen doesnt work, nothing happens, any ideas?

Also now the entity is mapped to the ticket type the button select entity or change entity appears but cannot be pressed so they dont do anything, have i missed something there too?

I then just need to setup a way to open the remaining split tickets after the 1st is settled. I already have a setup to recall all open orders so i just need to duplicate that to open just the split orders for the cashier thats logged in

Nowyou must have a Settle automation command. Name is hardcoded for now

I re-created settle rule with auto command but it still isnt working, name of auto command is Settle is that correct

Yes Settle and I think mapping needs to be a certain way. You should check a default database to be sure. You need the rule defined with that command and the action to Display Payment Screen. You need the full acm, action, rule setup for Settle.

@VehbiEmiroglu maybe we should just hardcode that button to go directly to payment screen and bypass the rules etc.