Refund System 2.0

So this is not a tutorial yet but it will probably turn into one. @markjw I started my refund system it is very early just the basics done so far however I want to show you the basics behind the accounting and how that works. Let me demonstrate with a video.

Remember that this has no automation yet I am just demonstrating the accounting so you understand what its doing. I will be manually just creating tickets and adding items to it.

Video coming in sec…


Still a lot to do like automate it from existing tickets. It should switch to ticket Type Refund Ticket clone the orders for refund then mark them as Refunded on original ticket via State and clever state formatting. Then you settle that ticket with Refund Payment Type.

Also need to create a screen specifically for executing refunds from which is really just a Ticket Explorer with filters set to only show original tickets and few other things.

Finally we need to discuss any reports and how to edit them so you get the info you want to report on.

Something I did last time was had a prompt via Ask Question that would ask if you wish to restock the item or not. In food biz this may be left out if all refunds are throwaways but maybe not.

I will work on this some more tonight hopefully demonstrate the automated portion.

I should say when I said Reverse Accounting that is probably not accurate. This actually mirrors the accounting but it places it all in its own respective Refunds accounts. So to get Net Sales all you need to do is subract Refund Sales from Sales. And you can still report gross sales this way.

This is pretty much what i did with my refund system and I’ve included being able to restock the item so inventory is correct too

If I get time tonight I’ll show what I’ve done, still tweaks and things to do but works pretty well

@Jesse what do you use to do to your screen capture videos?

Its actually just a gif but I use sharex

I might be being stupid here but could you make sub accounts within main accounts to have refund in sales accounts and refund payment types in payments accounts and reverse the transaction aouce and Target credit/debit showing separate lines and overall account balancing actual?

You could but I choose not too because to me Sales a sale… it doesnt just not happen because you refunded.

I dont use accounts screen for reporting I use reports. The whole point of me doing it this way is to preserve the sale. I use that data.

But yes you could do that. Most people might prefer it that way because the like to use account screen kinda like a report. I view Account screen as the engine that makes it all work but if I want to see how I am doing I look at reports.

You also would have less to edit in reports doing it like JTR way. To each their own.

Ok after thinking about what JTR said I will revisit it a little. Ill get back to you.


Have inspired a new idea?

Thats what this discussion is for :stuck_out_tongue:

1 Like

Interesting take on the refund system.

Ok I rebuilt my accounting I will share it now. I am working on the automation now.

I took some of what JTR said and here is how the accounting looks after buying item for 1.50 then refunding it for 1.50 with credit.

Let me know what you think about that?

1 Like

I think it’s better having Refunds under Sales Accounts.

1 Like

Yes you can get a balance from the group.

I am working on the automation. Check this out. Still need to redo a few things like Settle Should not show on Refund Ticket Type and Instead i will probably just make a single button to execute the refund payment based on what original ticket was paid with.

1 Like

I think that’s much cleaner than separate accounts for each and everything.
Intrigued that you often for separate refunds account for debit but didn’t separate payments.
Although thinking about it the sales side makes more sense on separate line if you want - processed as a separate transaction type where payment is still the same payment type but reversed.

The Sales accounts balanced to 0 if you notice. It used two different payment types. I just routed the sale into the cash and credit accounts so they balanced.

I plan to actually make the Refund button trigger the return so you don’t go through payment screen. It can ask if you wish to put it back on card or issue cash refund.

Just wanted to mention a few thoughts, some I know you have already,

A few scenarios I can see here as how a refund is started:

  1. Select one or more orders on original ticket, Refund Items > adds orders to refund ticket
  2. Refund Ticket button to refund entire ticket > adds all orders to refund ticket
  3. Start an “empty” refund ticket not linked to original ticket, add orders to refund ticket to do a refund.

Those are the 3 scenarios I can think would cover pretty much any need.

Now, once in the refund ticket, what happens if I add more items to it? Are they taken as further items to refund, or are they added as positive items as “exchange” of the refunded items? And, if in the “exchange” case, how about if they become a positive value then the refund actually turns to a refund of some items and sale of a new item? Not sure entirely how that can be handled, if at all?

I was thinking about this, I think the orders on the original ticket should only be updated once the refund has completed, not sure if this is how you planned it? The refund items may change after creation of the refund ticket. Also, how about if I selected 2 orders > Refund Item, then on the refund ticket I cancel one of the items, the original ticket should reflect that as one of the orders could have been added in error.

1 Like