Invoices
An invoice is a bill for a list of goods and services provided.
If your invoice has subscription items on there, then it will also include the corresponding service periods and prices.
Components of the Invoice
An invoice is from an Organization to a Customer. The Customer may have a billing address and delivery address.
An invoice is sequentially numbered for each Customer. This prevents any customer from reverse engineering how many other customers you may have, while still complying with the laws.
The invoice may be related to the order (subscriptionId
).
An invoice has line items, and each line item may have a product id, plan id, quantity, service period and pricing information.
The invoice may have coupons & discounts, shipping and taxes information.
Status Lifecycle
An invoice, when issued, may start as unpaid
. Once paid, the status would
change to paid
. If it is not paid though, and it passes the due time, the
status is marked as past-due
.
If the invoice is very past due, it may be marked as delinquent
.
The invoice could be marked as abandoned
, when you give up on collection
efforts.
If the invoice had some mistake on it, it may be marked as voided
.
It's generally a bad idea to delete invoices, and considered illegal in some jurisdictions.
After an invoice is paid
, it may be refunded
or disputed
.
This is important to know, because if an invoice is disputed
, you may
wish to suspend
the subscription order service until the dispute is
resolved.
Usage
If you follow our suggested order workflow, you may be utilizing the
invoice via the expand=recentInvoice
querystring parameter and value
on the order API requests.
You may also retrieve any invoice by its id.
GET invoices/123
In other resources,
the invoice id may be referred as the invoiceId
, recentInvoiceId
,
initialInvoiceId
or something with "invoiceId" in the name.
Webhooks
The "invoice was paid" event is a useful event to subscribe to if you want to record paid invoices in your own system, or push the data to 3rd parties. Before pushing the data to 3rd parties, contact us to see if we're already integrated with the 3rd party.
Rebilly also has custom webhooks, where you can control the payload using placeholders. These may be useful for integrating directly to 3rd parties without having to mediate the requests and responses.
Emails
Invoices are commonly mailed to customers as pdf attachments.
It is easy to configure Rebilly to do that for you, without needing to do any integration yourself. Rebilly is integrated with 5 email service providers, making it easy for you to use your preferred provider, or you can use our "house" account.
Taxes
Rebilly is integrated with a 3rd party tax calculator (Tax Jar).
For taxes to be calculated, these conditions must be met:
- The product must be "taxable"
- The organization must have a full address
- The customer must have a full address
If you are interested in other 3rd party tax calculators, please contact us.