Membership Lifecycle & Invoicing
Definitions
Term | Data Source | Description |
Stripe Subscription | Stripe | A Subscription created in stripe (usually via sign-up page) for an individual customer. |
Class | Nookal | A type of Class set up in your PMS |
Membership Type | BOS | Links a Stripe Product with one or more Classes so The BOS can report on Memberships using this product and generate matching invoices. |
Stripe Invoice | Stripe | An Invoice is generated at the start of every subscription period. EG: A Weekly subscription will generate a new invoice covering the next 7 days on the signup date and every week after. |
Matching Classes | BOS | When looking at a particular Invoice the matching classes are classes that are:
|
Nookal Invoice | BOS then Nookal | A Nookal Invoice is generated at the end of a Stripe Invoice period and sent to Nookal to bill off any class attendances in that period |
How the Nookal Invoice is calculated
Find Matching Classes
Matching classes are determined by: Invoice.Subscription.Membership.MatchingClasses
which means:
- Find the Stripe Subscription that this invoice belongs to
- Find the matching BOS Managed Membership that has been set up (if any)
- Find the classes that this BOS Managed Membership has been set up for
The BOS then finds any classes of those types that have been booked for the patient associated with the subscription, then ignores any of the following:
- Any attendances that are marked as Cancelled or DNA
- Any attendances that have been marked as invoiced manually (IE: not by BOS Memberships system)
Any classes that remain will be included in the Nookal Invoice. If there are no classes remaining then an AdHoc Invoice is generated, which is associated with the client but is not linked to any classes and is just there to represent that the client was charged.
To calculate the charges:
- The 'normal' price of a class is completely ignored.
- Divide subscription amount (full amount client was charged) by the number of classes
- Make small adjustments to amounts to ensure that the totals match (EG: 3 classes at $100.00 would be $33.33, $33.33, and $33.34 so it matches exactly $100).
If you use the Invoice Shipper: The 'normal' stripe invoice is shipped to Xero so it will simply be a charge for whatever the subscription is called, not an itemised invoice for individual classes like we send to Nookal.