Using Credits

Credits allow you to give your customers a balance that can be drawn down from when paying for a subscription. Octane supports granting credits in dollar amounts, drawing down from existing balances, and tracking customer balances.

Why Credits?

Credits are a useful tool for adding a measure of predictability to consumption-based billing. Credit-based pricing models are useful for businesses with consumption-based pricing because they can capture revenue for their customers’ usage upfront. Credits can also be given out for free or at a discounted rate as a way to incentivize use of a product.

Granting Credits

Credits can be granted through the Octane Portal or API. Customers are invoiced for the cost of credits at the time the credits are granted.

There is an important distinction between the amount and cost - the amount is the number of dollars to add to the customer’s credit balance whereas the price reflects how much the customer must pay for them. For example, you might want to make $100 of credits available to your customer for a discounted cost of $80.

You can also set an expiration date on a credit grant. Those credits will automatically expire when the expiration date is reached and will no longer be available to use by the customer. Credits with no expiration set will be available forever.

Using Credits

Credits are automatically deducted when invoicing occurs and will appear on the invoice as a negative line item. If a customer has an outstanding balance at the end of a billing cycle, any available credits will be applied to the balance before the final invoice is generated.

In this invoice, the customer initially owes $8000 from the base rate and usage. They have $5000 in available credits so their final bill comes out to $3000.

Credits are used in priority of expiration, with those expiring soonest having higher priority. If two grants have the same expiration date, the credits granted first will be used first.

Grant ID

Effective At

Expires At

Amount

1

01/01/2022

01/01/2023

$100

2

01/02/2022

01/01/2023

$75

3

01/05/2022

02/05/2022

$50

Suppose we have the three credit grants above. Credits from grant 3 will be used first because it has the earliest expiration date; grant 1 is used next because it has the same expiration date as grant 2 but was granted earlier.

Voiding Credits

Octane also allows you to void credits. This may be useful if you’ve granted credits erroneously or need to manually expire a grant. For example, in the process of giving a customer a one-time sign-on bonus of $100, you might have accidentally created two credit grants for $100 each. You can void one of those grants to make it unavailable.

🚧

Voiding a grant only voids unused credits

If the original grant was for $100 and the customer already used $25 in an invoice, only the remaining $75 will be voided. We generally recommend you void grants before they are used to avoid confusion.

Credit Ledger

A list of all credits-related transactions is available through the credit ledger. The ledger provides a full audit log for the current credit balance for a customer. In order to keep a thorough log the ledger is append-only, meaning a transaction can never be deleted. For example, if you create a credit grant and void it immediately after, there will always be two entries reflecting those changes even though there is no net change to the overall credit balance. Transactions included in the ledger are:

  • Grants - when credits are granted to a customer
  • Voids - when a credit grant is voided
  • Subscription deductions - when credits are deducted to pay for a bill for an active subscription
  • Expiration - when credits expire

Credit Grant Definition

Field Name

Description

Type

Required

customer_name

The name of the customer receiving the grant

String

Required

amount

Number of credits to grant

Float

Required

price

Total price paid for the credits, in cents. Defaults to $1 (100 cents) per credit if not specified

Float

Optional

effective_at

The date at which the grant is effective. Defaults to the current time if not specified

Datetime

Optional

expires_at

The date at which the grant expires. Grants with no expires_at will never expire

Datetime

Optional

description

An optional description for bookkeeping

String

Optional


Did this page help you?