Reimbursement types

Each return item should be associated with one of your store's Spree::ReimbursementTypes.

By default, the solidus_backend interface offers one reimbursement type to store administrators: Spree::ReimbursementType::StoreCredit. When a Spree::Reimbursement is created with this type, a Spree::Reimbursement::Credit is created for the full amount each return item associated with the reimbursement.

Solidus provides some other built-in reimbursement types that you can register and use in your store.

Preferred and override reimbursement types

Each Spree::ReturnItem object has the following attributes that link the item to a reimbursement type:

  • preferred_reimbursement_type_id: The ID for the reimbursement type that was first set for the return item.
  • override_reimbursement_type_id: An optional reimbursement type that overrides the preferred reimbursement type.

When a store administrator is ready to reimburse the customer, they can override the preferred reimbursement type for another one. This allows store administrators to change a customer return to satisfy the customer without losing the history of the customer return.

Reimbursement types helpers

Solidus's built-in reimbursement types extend the Spree::ReimbursementType::ReimbursementHelpers class , which is where much of their core functionality originates. If you need to make your own reimbursement types, or you want a better understanding of how reimbursement types work, see the source code.


Solidus is an open source platform supported by the community. We encourage everyone using Solidus to contribute back to the documentation and the code.

If you’re interested in contributing to the docs, get started with the contributing guidelines. If you see something that needs fixing and can’t do it yourself, please send us an email.