Refund/Reverse Sale

@Jesse thank you very much for that. I think you’ve described something I never could explain :slight_smile:

**The way it should work is:**

**You would have the following Account Types:** Refund Accounts, Refund Receivables, Refund Payments, Refund Taxes(If you use Tax Templates)

**You would have the following Accounts(Account Type/Account):** Refund Receivables/Refund Receivables, Refund Accounts/Refunds, Refund Payments/Customer Refund, Refund Tax Accounts/Refund Tax(If you use Tax templates)

**You would have the following Transaction Types:** Refund Transaction, Refund Payments Transaction, Refund Tax(If you use tax template)

Define `Refund Transaction` in your `Refund Ticket Type` (Make Refund Ticket Type if you have not) 

**Create Payment Type called Refund:** Account transaction type would be Refund Payments Transaction Account would be Customer Refunds

I left out some smaller details but that would be the general process.

When I said you would have to design entire accounting process around refunds… that’s what i meant. You cannot mesh it with Sales, Cash or any of the other existing accounting it will not work as a reverse transaction.

Now the important part! Since I established that the Accounting view in Sambapos is NOT an accounting report when you look at the refunds portion if you try to read it like a report it will look like your just selling stuff again… That is because Accounting in Sambapos is not an accounting report its the process the accounting uses.

If you look at the actual accounting reports (Work Period Report) or custom reports you may make it will read correctly. It will show Sales, Cash with accurate values and it will show Refunds, customer refunds with the amounts refunded.

You would define if it puts inventory back in or not through Update Order action.

I will say it once more because hopefully people reading this will finally understand. Accounting screen in SambaPOS is NOT a report of your accounting… It is the actual process SambaPOS is using to calculate the accounting… Your accounting reports are the Work Period Report or any custom reports you make. You can read the Accounting like a report and organize it via screens if you understand how to translate it.

I built a complete reverse sale refund system in my latest DB release. If you want to look at it you could incorporate parts of it that you like into yours.

Alright. So I got a refund system that seemed like it was working. Until I found that all the tickets I processed as Refund Ticket Types are not settling and seem impossible to close.
They have $0 balances.
Adding an item and trying to pay cash doesn’t do anything.
Consequently cannot close work period.

look at the PreMade databases forum category… download my database … it has a working refund system. You can choose what you want out of it… or learn how I did it and then build it in your own.

It gets a little complicated because you ahve to Change Ticket Type in middle of a transaction… etc… It would be really hard for me to explain it to you… My database I posted is 100% working with a full reverse transaction refund system… supports single item or partial refunds as well. Just backup your db… install mine and check it out.

Alrighty. I managed to close the tickets, turned out that somehow the refund tickets were not linked to tables/customers. Possibly a mapping error. Anyway, opening the ticket and selecting a customer did the deed.

Your accounting all coming out ok? It took me a couple weeks to get my Reverse Transaction Refund system working flawlessly… I ran into all kinds of issues. I built mine so it doesnt change sales… because you really do not reverse sales when you refund something… you reverse your income but if you reverse a sale then your skewing your gross sales.

So i had mine reduce cash but not sales. THis way I can still track Gross sales.

Share some of yours if you dont mind. I love seeing how other people implement stuff. I might learn a new trick or two :stuck_out_tongue:

Will do. I am still cleaning edges on a test system, but when it is in production state I will share it.