Subscribers and providers are both instances of
Organization. This is done
such that one can be a subscriber to a
Plan for a service hosted on
the broker website as well as itself a provider to other subscribers.
(ex: An organization can provide a CRM tool to subscribers while paying
another app, also hosted on the broker platform, to display usage analytics
of its own product). It is possible to implement
a symmetric double-entry bookkeeping ledger by having a single
Typically if you are self-hosting a pure Software-as-a-Service, as opposed to building a marketplace, you will define a single provider which incidently is also the the broker (See examples).
A billing profile (credit card and deposit bank account) is represented by
Organization subscriber subscribes to services provided by another
Organization provider through a
Subscription to a
Organization represents a billing profile. The
processor_deposit_key fields are respectively used when an organization
acts as a subscriber or provider in the subscription relationship.
There are no mechanism provided to authenticate as an
User authenticate with the application (through a login page
or an API token). They are then able to access URLs related
Organization based on their relation with that
as implemented by a
For historical reasons, two roles are often implemented: managers
and contributors (for details see Security).
Organization can be semantically separated in four categories, processor,
broker, providers and subscribers.
subscribers: organizations that subscribe to one or multiple
providers: organizations that provides plans others can subscribe to.
broker: The provider that controls the website.
processor: The organization / backend actually processing the charges.
In a pure Software-as-a-Service setup, there is only one provider which is by definition the broker.
In a marketplace setup, there might be multiple providers even though there is only one broker, always. The broker controls the domain name on which the site is hosted.