Credits and Refunds and Voids! Oh My!
1. Overview
Cheddar provides several flexible tools for not only charging your customers but also refunding or crediting funds back to those same customers. All credits, refunds and voids are based on existing customer relationships. Funds may only be moved from you, the merchant, to a customer if the customer had already been charged or will be charged in the future.
2. What's the Difference?
You can consider credits, refunds and voids to be grouped into two distinct categories. Credits are quite different than Refunds and Voids. A credit is used to "offset" a future charge or charges. Refunds and voids affect an actual transaction that occurred in the past.
2.1 Definition of a Credit
A credit is a line item on a customer's invoice. There are two types of line items: charges and credits. In accounting-speak, debits and credits. A charge (debit) is a positive amount and a credit is a negative amount. The total of all charges (debits) minus the total of all credits equals the net amount billed to the customer's payment method.
Credits are Carried Forward
If the total value of credits are greater than the total value of charges on a recurring invoice, the remaining credit value is carried forward to the next scheduled recurring invoice.
2.2 Definition of a Refund
A refund, also known as a "reversal", is a reversal of a previous transaction. Depending on your payment processor, you may be charged for a refund. Your merchant service provider might also have a different fee for refunds, sometimes as much as several dollars.
2.3 Definition of a Void
A void, also known as a "deletion", is a cancelation or deletion of a previously executed transaction prior to settlement of the transaction. A void is usually only possible for a few hours after the original transaction.
Voids are "better" than refunds because the money never moves. So, it costs you less. You'll likely still pay authorization fees for the original transaction, but there's typically no cost for the void.
3. Issuing a Credit
A credit can be issued to a subscriber's initial invoice, current (future) invoice or on a one-time invoice.
3.1 Via the GUI
To issue a credit on the initial invoice, simply enter the credit details on the new customer form.
To issue a credit on the current (future) invoice, first navigate to the individual customer page. From there you will see their current invoice just underneath their customer information. There you will see the button for issuing a credit or charge:
Clicking the Add Credit or Charge button will pop up a small form that allows you to enter a credit or charge on the current invoice:
Remember to use a negative number for a credit, or a positive number for a charge. Once you save this form, you will see it reflected in the current invoice:
3.2 Via the API
Issue a Single Custom Credit
A single credit is added to an already existing customer's current (future) invoice. The referenced API call above is used for both adding custom charges and credits. A charge has a positive eachAmount
parameter and a credit has a negative eachAmount
parameter. We recommend you specify a chargeCode equal to the type of charge that is being "offset" by the credit. For example, if you're crediting a customer with a month of that customer's flat monthly fee, use the same charge code as the plan's flat monthly fee charge.
Issue Custom Credit(s) When Creating a New Customer
When creating a customer, zero, one or more credits (charges, too!) may be included in the new customer API request. The parameters specific to the credit(s) are the same as issuing a single charge (above) however they must be specified in a 'charges' array (see API Documentation).
When issuing multiple (or one) credit along with the new customer request, the credit(s) is added to the initial recurring invoice.
Delete a Custom Credit
A custom credit may be deleted from an invoice if the invoice is not yet billable. Cheddar's unique identifier for the credit record, chargeId
, must be specified. The chargeId can be found in the invoice API response.
Custom Credits on a One-time Invoice
One-time invoices are simply made up of charges and credits. Both are specified in a charges
array. Use a positive eachAmount
for a charge and a negative eachAmount
for a credit. The total amount of the one-time invoice must be greater than or equal to zero. In other words, if you specify credits, there must be enough charges on the invoice to offset the credits.
4. Issuing a Refund or Void
Some payment processors only support refunds. Some support refunds and voids. Some support refunds prior to settlement. Fortunately Cheddar has figured this out for you.
4.1 Via the GUI
Just click on the "Issue Refund" link at the bottom of the invoice you'd like to refund:
The Cheddar admin GUI handles the particulars of voids vs. refunds for you. On the surface, it's fairly simple:
- You're issuing a full refund
- Cheddar determines if the transaction is voidable. Is it voidable?
- Yes: Cheddar issues a void (voids are better than refunds)
- No: Cheddar issues a full refund.
- Cheddar determines if the transaction is voidable. Is it voidable?
- You've requested a partial refund
- Cheddar determines if the transaction is partially refundable. Is it?
- Yes: Issue partial refund
- No: error messaging.
- Depending on your payment processor, a partial refund may not be possible until after the void period.
- Cheddar determines if the transaction is partially refundable. Is it?
4.2 Via the API
This can get a little hairy but we've made it as simple as possible for you.
4.2.1 Let Cheddar Decide Between Refund and Void
Using this method, Cheddar decides based on your payment processor whether or not it's best to execute a void or a refund. Partial refunds are not possible via this method. If you'd like to understand better what is possible with your payment processor, just let us know.