GitHub

Returns, refunds, and disputes, modelled properly.

Returns, refund requests, and chargebacks each have their own records and states. A refund request reaches exactly one terminal outcome, and approved refunds can never cumulatively exceed the order total.

returns

Run

Inside returns & refunds.

01

One terminal outcome

A refund request ends as approved, rejected, or cancelled, and the database prevents it reaching more than one of those.

02

Approval required

Refunds must be explicitly approved by an admin, and the approved amount can never exceed what was recorded on the request.

03

Stock comes back

Accepting a return writes a stock movement automatically, so restocked units are available to sell straight away.

04

Disputes tracked

Chargebacks are stored with their status and evidence deadline beside the order they relate to.

Modules that sit next to this one

MIT licensed · self-hosted

Returns & refunds ships with Litestore. So does everything else.

Get the source