As a company, SolidPHP has been developing billing systems for various industries for several years. We have taken this experience and woven it into SPBAS, to create a solution that should be acceptable to all industries and provide features that have previously never been available in a single solution.
A User - A user in SPBAS is a single account, consisting of a persons name, email, username and password. A user account allows you to login to the knowledgebase, helpdesk, and future as-yet-unannounced modules.
A Customer - A customer record in SPBAS is a single customer. A customer record belongs to one (or more) users - as a result, you can have a customer record with 5 users, one for each employee in the company. Any purchases are recorded against the customer, rather than the user.
Products - SPBAS has support for unlimited products. A product is a generic item and contain an unlimited number of "assets" - e.g. licenses, hosting packages, downloads. A product can be anything from a t-shirt, to services, to software.
Package - A package is a record of a purchase of a product by a customer. If we have a product called "SPBAS 2500" that is purchased by Customer A and Customer B, each customer will have a package called "SPBAS 2500". This indicates they own the product. All pricing and recurring billing is dealt with at the package level.
Package Assets - A package asset is something like a license, hosting package, support package, download. It can be thought of as the "usual part" of a product/package.
Licenses - SPBAS has a fully featured licensing system for ISV's and developers, containing the best of the features from our previous products, PHPAudit & Iono. All licenses are associated with a package.
Order - An order in SPBAS can contain multiple products, and once the order is complete, each product will generate a package in the customers account. An order is essentially a single checkout from the order form.
Invoice - Each invoice can include charges for multiple packages. Invoices are automatically generated when packages renew, when orders are placed, or can be manually added.
An Industry Agnostic Generic Solution
SPBAS has been designed so that it can be extended into any market, the core "product" features of SPBAS are therefore:
Each module (packages, products) is then responsible for communicating with the other appropriate modules in SPBAS (e.g. licensing) to achieve the ultimate result - e.g. the sale of a software license vs the sale of a t-shirt. The 5 key modules are standard to all sales, and these modules communicate with each other - leaving the communication with other elements in SPBAS to the relevant module.