Printer tag {balance} is null when no payment has been made

When no payment has been made the tag {BALANCE} is null.

My receipt shoul look like this

{Orders}

Total consumption {Ticket Total}
{Discounts}
{payments}
Total remaining {Balance}

It is null because you don’t need to display that part if no payments made. Just put that line in square brackets and it will work fine.

[<J10>Total Remaining: | {BALANCE}]

Hi, but I want the balance to be printed even if no payment has been made yet:

Example 1 (no payment made):

Total consumption {Ticket Total} 20
Total remaining {Balance} 20

Example 2 (one member of the party left and paid his share):

Total consumption {Ticket Total} 20
Cash 8
Total remaining {Balance} 12

Example 3 (the remaining members of the party left and paid the balance):

Total consumption {Ticket Total} 20
Cash 8
Total remaining {Balance} 0

So you can use custom expressions to add your own balance calculation.

<J10>Balance:|[=F(TN('{TICKET TOTAL}')-TN('{PAYMENT TOTAL}'))]

That’s great, is it possible to do more advanced stuff with custom expressions like IF, CASE and so on?

Why can’t I create more than two columns using the pipe symbol ‘|’?

Because most calculations can be handled with rules, actions and variables, there has been little to no need for advanced expressions in printer templates.
SambaPOS has been built around real world scenarios. Some stuff just isn’t needed in a POS system.
If you have a case for some functionality, please explain what you would like to achieve and maybe there is a solution.

You can have more than two columns using more pipes |. But columns 2+ will be right justified.

@JohnS: is there an advanced expression similiar to a SUBSTRING function?

Only within rules…