No system is ever perfect, but what got my interest in SambaPOS was the features, the fresh approach, and the fact that it is always evolving due to user feedback from users like yourself.
If it can't be fixed easily in V2, then the team will look at what can be done for V3 of SambaPOS.
The way the print jobs work is that you can print multiple tickets, but each ticket needs to print different information.
For example I will use the Kitchen Order Tickets to explain.
You will have one print job to print orders to the kitchen. But you may want separate tickets for entrees, mains and desserts.
So for the first printer mapping you select entrees for product group, the kitchen printer and the kitchen order template.
For the second printer mapping you select mains for product group, the kitchen printer again and the kitchen order template yet again.
And so on.
Your last printer mapping should always use * to print anything that is left, so nothing is missed - unless you are sure you have covered all groups. But think of it as insurance.
As you print data on a ticket, it is no longer available to print on other tickets within that print job - stops double printing. Hence why you could only get the first mapping to work.
So to setup your scenario, you need two print jobs, and two printer templates (if you want the layout different).
One print job called "Invoice", the other called "Receipt" (also use these names for the Button Header field, and tick Display at POS Screen & Display at Payment Screen to show these buttons) - To quickly duplicate the print job, right click the first print job and select Clone Print Job.
Select Printing Content - All Lines and set Auto Print After Ticket Paid and select the Payment Types you want it to print for.
Set your printer mappings - both print jobs will use the same printer and you can use the same printer template.
Remember to add the new print job to the Terminal, log out and log back in and it should work.