Billing and Commission Process
This wiki page explains the overall Maestrano invoicing and charging process for Customers.
It also covers the overall process for calculating commissions for Tenants and Application Providers.
1 - Terminology
Concept | Explanation |
---|---|
App Provider | An App Provider is a commercial entity which has a legal agreement with Maestrano and/or you directly and which is authorised to publish applications on your platform. In order to publish application(s) to your platform the App Provider will have registered its application(s) on the Maestrano Developer Platform and the Maestrano team will have activated it for your platforms. App Providers receive a percentage of the revenue generated through the platforms by Customers purchasing their applications. |
Customer | A customer is an organisation with multiple members which has entered a credit in the system and is using the platform via the frontend or portal that you provide. A Customer uses applications provided by App Providers. A Customer always belong to one and only one Tenant. |
Tenant | A Tenant is a platform owner. The Maestrano solution is multi-tenant meaning that multiple frontends/portals can be managed by a single Maestrano Platform. Each of these frontends will constitute a Tenant. Each Tenant will have a set of API keys to access the Maestrano Hub APIs. Each Tenant will have its own set of applications and customers. Tenants are virtually isolated from each other. If Tenant A and Tenant B co-exist on the same Maestrano Platform then Tenant A will not be authorised to access Tenant B's resources (customers, invoices etc.) via API. Tenants receive a percentage of the revenue generated on their platform. The revenue is shared between the Tenant, Maestrano and the App Providers. |
2 - Billing Timeline
The Maestrano billing and commissioning process is composed of three key milestones:
Date | Terminology | Explanation |
---|---|---|
25th of the month | Invoicing | All Customers receive their monthly invoice. The invoice includes all expenses incurred since the 25th of last month (invoicing in arrears). Customers are given a week to review their monthly invoice before payment. |
2nd of following month | Charging | All Customers credit cards get charged for the amount stated by their monthly invoice. Failed payments are retried daily. |
17th of following month | Partner Invoicing | App Provider and Tenant commissions get calculated based on the agreed percentage of revenue sharing with each party. All commissions are calculated on the basis of paid invoices. Unpaid invoices are not considered in the calculation. If an unpaid invoice gets paid on the following month (late payment) then this late payment will be included in the next commission calculation (following month). App Provider commissions get calculated first. The revenue is split between Maestrano and the App Provider based on an agreed percentage of revenue share. Tenant commissions are calculated after. The platform license revenue is split between Maestrano and the Tenant based on an agreed percentage of license revenue share. The Maestrano portion of the App Provider commissions is split between Maestrano and the Tenant based on an agreed percentage of app revenue share. |
The diagram below summarises the overall Billing & Commission timeline:
3 - Money Collection
3.1 Payment defaults and arrears
On the 2nd of each month customers are expected to have their credit card successfully debited. In the event where a payment is unsuccessful the account will be flagged as being in arrears.
Customers in arrears have until the next invoicing date (25th of the month) to pay their due. Customers not resolving their arrears situation by the 25th will see their applications locked out. This lockout is done at Single Sign-On level by the platform.
It is important to note that commissions to tenants and application providers are only calculated on the basis of paid invoices. This is the reason why the platform calculates partner commissions on the 17th of each month, therefore giving 15 days to customers to pay their due in case of a missed payment on the 2nd. Any payment made after the 17th will be accounted in the next partner report (17th of the following month).
3.2 Free trial and credit cards
Some applications offer free trial periods. These trial periods are recorded at the platform level and used to provide access to customers who have not entered any credit card yet.
Customers wishing to continue using a paid application beyond the free trial period must enter a credit card in the system. Customers who do not enter a credit card will be locked out of the application at the end of the trial period the same way customers in arrears are. This lockout is done at Single Sign-On level by the platform.
3.3 Credit Account
The platform offers a system of credit accounts allowing customers to prepay their applications. Credit accounts are similar to bank accounts in that it allows customers to make deposits and use this reserve of money to pay invoices.
Credit accounts are automatically debited on the 25th when the invoice is issued. Invoices paid via credit account payments are included in the partner commission calculations the same way credit card payments are.
To tax or not to tax?
If you allow customers to make deposits via credit card or wire transfer then it is not required to apply/collect taxes on these amounts (they are deposits)
Taxes are calculated at invoice time based on your sales tax nexus and customer billing location. Credit accounts are used to pay both the invoice principal amount and associated taxes.
4 - Accessing billing data
4.1 - As an App Provider
As an App Provider you send bills to the platform as Customers use your app (monthly subscription, in-app purchase etc.). Bills you send will automatically be assigned a status of submitted. Bills in a submitted status will stay in that state until they get invoiced (on the 25th of the month) or cancelled (by you before the 25th).
You can retrieve bills in a certain status by filtering your calls on the Maestrano Account API. Please refer to each Maestrano SDK documentation to know the specifics related to filtering Bills by status.
4.2 - As a Tenant
As a Tenant you can retrieve the invoices generated by the platform using the Maestrano Hub API. Please refer to the Maestrano Hub documentation and more specifically to the invoices section to get examples of invoice responses from the API.
4.3 - Webhooks (only available to Tenants)
As a Tenant you can also receive invoices via webhook as soon as they are generated by the Maestrano Billing Engine. The webhook payload follows the same format as the one described in the invoices section of the Maestrano Hub API.
If you wish to activate webhook notifications for your platform please get in touch with our enterprise team.