What is a Product
A product is the most granular form of an item / service rendered for which a fee will be charged.
Before You Start
- Create a Product Master (Product Masters)
Product Attributes Explained
A product master is a logical grouping of products to which multiple products can be allocated.
A product must belong to a product master and can only belong to one product master at a time.
Please ensure the product is billed according to the billing type of the product master selected (in arrears / in advance).
If the product master is not available in the drop down, you can create it by selecting the button next to the field.
The product name is reflected on invoices generated and represents the line items of the invoice. A duplicate product name can exist as long as each product is allocated to a different product master.
Each product must have a code that uniquely identifies that product. This code will be used to match billing records to the correct product. This code must preferably match the product code as it reflects on the source system. The reason for this is that if you decide to automatically collect your billing data via Source Collectors, you don’t need to update your product codes on Varibill.
The Billing Principle determines how billing records for this product should be billed, whether it should be pro-rated and which quantities should be billed.
“Average” - If a product is set to average, the average quantity of products/services rendered within a billing period, per record, will be billed for. The average will reset at the start of the billing cycle. E.g. a client used a product or service for 3 days. The usage was 1 on day 1, 3 on day 2 and 5 on day 3. The average will be calculated for the 3 days as 3 units ((1+3+5)/3days) used and will, therefore, be billed for a quantity of 3.
“Cumulative” - If a product is set to cumulative, the quantities of products/services rendered within a billing period, per product, will be cumulated to form a total and billed for accordingly. The total will reset at the start of the billing cycle.
“Delta” - If a product is set to delta, Varibill will calculate the difference between the quantities collected. This should be used where the usage is finitely accumulated at source and the client should be billed for the amount used during a billing cycle and not for the accumulated usage. E.g. a meter collects a clients' water consumption during the month. The meter reading started at 1000 as the client consumed 1000 units during previous months. The clients' consumption at the end of the month is 1050 units and should therefor only be billed for 50 units consumed.
“Discrete” - If a product is set to discrete, then the client will be billed for the quantity seen on each specific day. This differs from Maximum, as the client will not be billed for the maximum seen during the entire cycle, but rather for the maximum seen on one day. E.g. usage was 1 for the entire cycle, except for one day where the usage was 2. The client will be billed for a quantity of one for the entire cycle, except for the one day on which the client will be billed at a quantity of 2.
“Maximum” - If a product is set to maximum, the largest quantity of products/services rendered within a billing period, per record, will be billed for. This differs from discrete as the client will be billed only at the maximum quantity seen. E.g. usage was 1 for the entire cycle, except for one day where the usage was 2. The client will be billed for a quantity of 2 for the entire cycle.
The maximum will reset at the start of the billing cycle.
Billing Data Unit Type
Indicate the unit in which these products' data will be received.
Depending on the Billing Data Type, one or more conversion rules may be available for selection. The unit received will be converted based on the option selected for the product. All active conversion rules are available for selection and include both system conversion rules and conversion rules created by yourself using Admin/Conversion Rules.
Tax and Rounding Group
Select the tax and rounding group you would like to apply for all billing records received for this product. All tax and rounding groups as created on Admin/Tax and Rounding are displayed here.
Once you have created product groupings for the product master to which a product is allocated, products need to be allocated to a product group. This can be done by selecting the product group (as created on product master create / edit) using the product from (create / edit). The product group field will only be available when the product is allocated to a product master where the product grouping option is either ‘All products in Product Master are associated by groupings’ or ‘Some products are associated by groupings’. Read more on product groupings [here]
Post transactions to accounting system
Select how you would like to update your accounting system with invoice transactions processed on Varibill. When selecting the General Ledger option, inventory will not be updated in your accounting system. When selecting Inventory, your inventory set up in your accounting system should allow the update of the relevant GL account.
- General Ledger Account Code
This code should match the GL (general ledger) code in your accounting system. Once you run your billing, this GL account (in your accounting system) will be updated to reflect the invoices generated by Varibill. You can use the same Account Number for multiple products. Should you make use of Sage 300 and post Sales Orders - then GL Codes cannot be used.
- Inventory Code
This code should match the Inventory Item code in your accounting system. You can use the same inventory code for multiple products. This is used to update the inventory count in your accounting system and does not create inventory. Your inventory set up in your accounting system should allow the update of the relevant GL account. Varibill does not currently cater for multi-stores.
- Please ensure products to which a conversion rule is applied are posted to a GL account and not inventory as there will be rounding differences between the accounting system and Varibill. Should you make use of Sage 300 and post Sales Orders - then Inventory Codes must be used.
[“Allow In Advance”] (BETA) - Allows clients to be billed for the product / service before they've been rendered. In advance can be selected for billing principles average, discrete and maximum. This option is only available if the Tenant has been [set up] to allow in advance billing. Once this option has been activated for the product the user can set up [Contract Services] to bill the debtor in advance for this product.
"Allow In Arrears” - Allows clients to be billed for the product / service after they've been rendered. In arrears will always be selected y defaulted and cannot be unselected.
Prorate[Proration] can be activated or disabled for billing principles average, discrete or maximum.
Viewing Your Products
The list of Products displayed is a list of all the Products created. Use the icons next to each record to edit or delete the record. Read [more] on the various buttons, icons and options available.
Integrate Source Systems to maintain products
Please refer to this  link to view the complete list of Varibill entities currently readable using OData . To view the Varibill entities and parameters of each entity follow this  link. Only the create, read, update and delete of selling prices and products are currently available, although all the entities listed can be read using the same method. You can refer to OData  to read more about how it can be used to maintain your Varibill data.
When maintaining your Varibill data using this method, you will be authenticated against an existing Varibill user or a system user. The system user makes use of the Tenant name as username and service key, on the Tenant Details screen, as the password. You will also need to set up IP/s allowed to post to your Varibill account on the Tenant Details screen under the "Service IP Address Configuration" section which will be validated when receiving system user posts.
OData allows you to create (post), read (get), update (put) and delete (delete) data. Refer to OData operations  for more information.
Once your integration is in place and posts are made from the source system to your Varibill account, results are returned to the source. Refer to OData for more information on error codes returned.
Varibill will validate all posts received from your source systems using the same validation that is available on the application. This means that all fields, as displayed on the application for the specific entity, must be submitted and must match the formats and rules as would be expected when capturing the entity manually on the application.
One item can be posted at a time. Therefore your integration must loop through multiple items to post more than one item. A result will be produced per item posted.