Overview
File Management is Varibill’s central workspace for preparing, uploading, and processing file-based billing data. It provides a structured, template-driven workflow that ensures data entering the Varibill Billing Engine is accurate, consistent, and aligned with your product, client, contract, and pricing configuration.
File Management supports both recurring operational processes (such as monthly rate updates or source data imports) and once-off bulk data tasks (such as onboarding a new client base or importing a product catalog).
Accessing File Management
- Log in to the Varibill User Interface.
- Open the Navigation dropdown menu at the top of the screen.
- Select File Management.
Workflow Overview
File Management follows a left-to-right workflow across four tabs:
Templates → Processed Templates → Upload Files → Processed Files
| Tab | Purpose |
|---|---|
| Templates | Generate blank or populated Excel templates for each data type |
| Processed Templates | Download templates that have been generated and are ready to use |
| Upload Files | Upload completed templates for validation and processing |
| Processed Files | Review the results of processed uploads and download outcome files |
Each stage provides validation feedback and visibility into the data lifecycle, ensuring that billing information is captured correctly and processed reliably.
Templates
The Templates tab displays a card for each available template type. Each card shows the template name, a brief description, and one or more generate buttons.
Template Download Options
Depending on the template type, the following download options may be available:
| Option | What it generates |
|---|---|
| Generate Blank Template | An empty Excel file with column headers and built-in validation rules. Use this when creating new records from scratch. |
| Generate Populated Template | A blank template that includes additional reference worksheets with dropdown lists for lookup fields (such as Client Codes, Product Identifiers, or Contract Numbers). Use this when you need to reference existing data while preparing your file. |
| Generate Latest | A template pre-populated with only the most recent records (for example, the latest selling rate per product). Use this to review or update current values without downloading the full history. Available for Cost Prices and Selling Rates only. |
| Generate All | A template pre-populated with all existing records from Varibill. Use this to review, audit, or bulk-update your current data. |
Tip: Use the Populated Template option when preparing data for the first time. The built-in dropdown lists help you select valid values for lookup fields and reduce validation errors on upload.
What Happens When You Click Generate
- Varibill generates an Excel file (
.xlsx) containing the correct column headers, validation rules, and — depending on the option selected — reference data or existing records. - Once generation is complete, the file appears in the Processed Templates tab, ready for download.
Note: Template generation runs in the background. For large datasets (such as generating all contracts or all selling rates), the file may take a few moments to appear in the Processed Templates tab.
Available Templates
The following template types are available in File Management:
| Template | Purpose | Download Options |
|---|---|---|
| Billing Documents | Update billing document status and details | Blank |
| Client Identifiers | Manage client identifiers linked to contracts | Blank, Populated, All |
| Clients | Create or update client master records | Blank, Populated, All |
| Contacts | Manage contact persons linked to clients | Blank, Populated, All |
| Contract Prices | Set contract-level pricing per product | Blank, Populated, All |
| Contract Services | Manage recurring or fixed services on contracts | Blank, Populated, All |
| Contracts | Create or update contracts linking clients to billing configurations | Blank, Populated, All |
| Cost Prices | Manage supplier cost pricing per product | Blank, Populated, Latest, All |
| Forex Rates | Upload foreign exchange rate records | Blank, Populated, All |
| Invoice Sub Groups | Manage invoice sub-groups for grouping line items | Blank, Populated, All |
| Price Lists | Create or update price list master records | Blank, Populated, All |
| Products | Define products and services with billing rules | Blank, Populated, All |
| Rated Source Data | Upload pre-rated usage or transaction data | Blank |
| Selling Rates | Manage selling rate pricing per product | Blank, Populated, Latest, All |
| Source IP Addresses | Manage IP addresses associated with Source Collectors | Blank, Populated, All |
| Source Notification Recipients | Manage notification email recipients for Source Collectors | Blank, Populated, All |
| Unrated Source Data | Upload raw usage or transaction data for Varibill to rate | Blank |
Processed Templates
The Processed Templates tab shows all templates that have been generated and are ready for download.
Each entry displays:
- The template name
- The date and time the template was generated
- The file status
Click the download icon to save the Excel file to your local machine. Open the file, populate the required data, and then upload it via the Upload Files tab.
Tip: Always download the latest template before preparing data. Template structures may be updated over time, and using an outdated template can cause validation errors on upload.
Upload Files
The Upload Files tab is where you submit completed templates for validation and processing.
Uploading a File
- Navigate to the Upload Files tab.
- Select the template type that matches the file you are uploading.
- Click Upload and select your completed Excel file
(
.xlsxor.xls). - Varibill validates the file structure and content before processing.
Validation
When a file is uploaded, Varibill performs validation at multiple levels:
- Column structure: The uploaded file must contain the expected column headers matching the template definition. Missing, extra, or duplicate columns will cause the upload to fail.
- Field-level validation: Each cell is validated against its expected data type (text, number, date, boolean), maximum length, and any format requirements (such as valid email addresses or IP addresses).
- Lookup validation: Fields that reference existing Varibill data (such as Client Codes, Product Identifiers, or Contract Numbers) are validated against the current database. Invalid references are flagged as errors.
- Business rule validation: Additional rules are applied where relevant (for example, an End Date must be on or after the Start Date, and Forex Rate values must be greater than zero).
Warning! Ensure that lookup values (such as Client Codes, Product Identifiers, and Contract Numbers) match existing records in Varibill exactly. Mismatched values will cause row-level validation errors.
The Operation Column
Most templates include an Operation column that determines what action Varibill takes for each row when the file is processed:
| Operation | Action |
|---|---|
| Insert | Creates a new record in Varibill |
| Update | Updates an existing record. The record is matched using its unique identifier (such as Code or Contract Number). |
| Delete | Removes an existing record |
| Unchanged | Skips the row. No action is taken |
Note: The Billing Documents, Rated Source Data, and Unrated Source Data templates do not use the Operation column. These templates follow their own processing rules.
Tip: When working with a populated or “All” template, set the Operation to Unchanged for rows you do not want to modify. Only change the Operation value for rows you intend to insert, update, or delete.
Processed Files
The Processed Files tab provides a complete record of all uploaded files and their processing outcomes.
Each entry displays the file name, upload date, and processing status:
| Status | Meaning |
|---|---|
| Success | All rows were processed successfully |
| Failed | No rows were processed. Download the file and check the Status column for error details. |
| Partially Succeeded | Some rows were processed and some failed. Download the file and check the Status column to identify which rows failed and why. |
Tip: When a file fails or partially succeeds, download the processed file and review the Status column. Each failed row includes a description of the validation error, allowing you to correct the data and re-upload.
Template Reference
This section describes each template type in detail, including the purpose of the template, its available fields, and which fields are required.
Common Fields
Most templates include the following fields:
| Field | Description |
|---|---|
| Operation | Determines the action for the row: Insert, Update, Delete, or Unchanged |
| Code | A unique internal identifier for the record. If left blank on insert, Varibill generates one automatically. |
| Status | A system-generated field that reports the processing outcome for each row after upload. Do not populate this field. |
Billing Documents
Upload billing document records to update invoice status or details.
Download options: Blank
| Field | Required | Description |
|---|---|---|
| PK Billing Header | Yes | The unique identifier (GUID) of the billing document |
| Invoice Date | Yes | The date of the invoice |
| Billing Header Status | Yes | The status to apply to the billing document |
| Invoice Number | No | The invoice number |
Note: This template does not include the Operation column. It is used to update existing billing document records only.
Client Identifiers
Manage client identifiers that link to contracts for billing validation. Client identifiers are used to match incoming source data to the correct contract during billing.
Download options: Blank, Populated, All
Lookup fields: Contract Number (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Contract Number | Conditional | The contract to link this identifier to. Required when the identifier is included in validation and billing. |
| Client Identifier | Yes | The identifier value (for example, an account number, username, or device ID). Must be unique per contract. |
| Included in Validation and Billing | Yes | Whether this identifier is active for billing validation (True or False) |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Clients
Create or update client master records including company details, address information, and billing configuration.
Download options: Blank, Populated, All
Lookup fields: Sales Person Code (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Sales Person Code | No | The sales person linked to this client |
| Name | Yes | The client’s company or individual name |
| Registration Number | No | Company registration number |
| Tax Number | No | Tax registration number |
| Accounting System Debtor Code | Yes | The client’s account code in your accounting system |
| Unit Number | No | Address unit number |
| Complex Name | No | Address complex or building name |
| Street Number | No | Street number |
| Street Name | Yes | Street name |
| Suburb | No | Suburb |
| City | Yes | City |
| Postal Code | No | Postal code |
| Invoice Group | Yes | How invoices are grouped for this client |
| Tax Exempt | Yes | Whether the client is exempt from tax (True or False) |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
| Country | No | Country name (must match a recognized country) |
Contacts
Manage contact persons linked to clients. Contacts are used for communication and notification purposes.
Download options: Blank, Populated, All
Lookup fields: Client Code (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Client Code | Yes | The client this contact belongs to |
| Contact Unique | Yes | A unique identifier (GUID) for the contact. Auto-generated if left blank on insert. |
| Name | Yes | Contact first name |
| Surname | No | Contact surname |
| Contact Number | No | Phone number |
| Email Address | Yes | Email address (must be a valid email format) |
| Type | Yes | The contact type |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Contract Prices
Set contract-level pricing per product. Contract prices override selling rates for a specific contract.
Download options: Blank, Populated, All
Lookup fields: Contract Number, Product Identifier (dropdowns in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Contract Number | Yes | The contract this price applies to |
| Product Identifier | Yes | The product this price is for |
| Unit Rate | Yes | The price per unit |
| Effective Date | Yes | The date from which this price takes effect |
| End Date | No | The date this price expires. Must be on or after the Effective Date. |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Contract Services
Manage recurring or fixed services on contracts. Contract services represent ongoing charges that are billed on a schedule.
Download options: Blank, Populated, All
Lookup fields: Contract Number, Product Identifier (dropdowns in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Contract Number | Yes | The contract this service belongs to |
| Product Identifier | Yes | The product for this service |
| Description | No | A description of the service |
| Description Visible On Invoice | Yes | Whether the description appears on the invoice (True or False) |
| Start Date | Yes | The date the service begins |
| End Date | No | The date the service ends. Must be on or after the Start Date. |
| Quantity | Yes | The quantity to bill |
| Recurrence Type | Yes | How often the service is billed (for example, Monthly) |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Contracts
Create or update contracts that link clients to billing configurations including billing cycles, terms, price lists, and product masters.
Download options: Blank, Populated, All
Lookup fields: Billing Cycle, Term Code, Product Master Code, Client Code, Price List Unrated Code, Price List Rated Code, Sub Group Code, Sales Person Code (dropdowns in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Billing Cycle | Yes | The billing cycle for this contract |
| Term Code | Yes | The term applied to this contract |
| Product Master Code | Yes | The product master associated with this contract |
| Client Code | Yes | The client this contract belongs to |
| Price List Unrated Code | Yes | The price list used for unrated data |
| Price List Rated Code | Yes | The price list used for rated data |
| Sub Group Code | No | The invoice sub-group for line item grouping |
| Sales Person Code | No | The sales person linked to this contract |
| Type | Yes | The contract type |
| Contract Number | Conditional | The contract number. Auto-generated on insert. Required for update or delete operations. |
| Payment Terms | Yes | Payment terms in days |
| Start Date | Yes | The contract start date |
| End Date | No | The contract end date. Must be on or after the Start Date. |
| Description | No | A description of the contract |
| Purchase Order | No | Purchase order reference |
Cost Prices
Manage supplier cost pricing per product and term. Cost prices represent what you pay for a product or service.
Download options: Blank, Populated, Latest, All
Lookup fields: Product Identifier, Term Code (dropdowns in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Product Identifier | Yes | The product this cost price applies to |
| Term Code | Yes | The term this cost price applies to |
| Amount | Yes | The cost price amount |
| Recommended Amount | Yes | The recommended selling price |
| Effective Date | Yes | The date from which this cost price takes effect |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Tip: Use Generate Latest to download only the most recent cost price per product and term combination, rather than downloading the full pricing history.
Forex Rates
Upload foreign exchange rate records used for currency conversion in billing.
Download options: Blank, Populated, All
Lookup fields: Forex Code (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Forex Code | Yes | The currency pair this rate applies to |
| Effective Date | Yes | The date from which this rate takes effect |
| Numerator | Yes | The numerator of the exchange rate. Must be greater than zero. |
| Denominator | Yes | The denominator of the exchange rate. Must be greater than zero. |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Invoice Sub Groups
Manage invoice sub-groups linked to clients. Sub-groups are used to organize and group line items on invoices.
Download options: Blank, Populated, All
Lookup fields: Client Code (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Client Code | Yes | The client this sub-group belongs to |
| Name | Yes | The name of the sub-group |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Price Lists
Create or update price list master records. Price lists are linked to a currency and assigned to contracts.
Download options: Blank, Populated, All
Lookup fields: Forex Code (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Forex Code | Yes | The currency associated with this price list |
| Name | Yes | The name of the price list |
| Type | Yes | The price list type |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Products
Define products and services with their billing rules, tax configuration, and rating model.
Download options: Blank, Populated, All
Lookup fields: Product Master Code, Tax Group Code, Product Group Code, Base Data Conversion Rule Code (dropdowns in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Product Master Code | Yes | The product master this product belongs to |
| Tax Group Code | Yes | The tax group applied to this product |
| Product Group Code | No | An optional product group for categorization |
| Base Data Conversion Rule Code | Yes | The conversion rule applied to source data for this product |
| Name | Yes | The product name |
| Identifier | Yes | A unique identifier for the product. Used to match records on update or delete. |
| Billing Principle | Yes | The billing principle applied to this product |
| Accounting Code | No | The accounting system code for this product |
| Inventory Update | Yes | Whether this product updates inventory (True or False) |
| In Advance | Yes | Whether this product is billed in advance (True or False) |
| Prorate | Yes | Whether billing is prorated for partial periods (True or False) |
| Display Zero Rated | Yes | Whether zero-rated line items are displayed on invoices (True or False) |
| Rating Model | Yes | The rating model used for this product |
| Description | No | A description of the product |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Rated Source Data
Upload pre-rated usage or transaction data. Use this template when your source system already calculates the cost and selling price for each record.
Download options: Blank
| Field | Required | Description |
|---|---|---|
| Client Identifier | Yes | The client identifier that links this record to a contract |
| Product Identifier | Yes | The product this record applies to |
| Record Identifier | Yes | A description or label for the record |
| Unique Identifier | Yes | A unique value that identifies this specific record |
| Tag | No | An optional tag for categorization or filtering |
| Last Seen Date | Yes | The date of the usage or transaction |
| Quantity | Yes | The quantity |
| Total | Yes | The total selling amount for this record |
| Cost | No | The cost amount for this record |
Note: This template does not include the Operation column. All rows are treated as new source data records.
Selling Rates
Manage selling rate pricing per product, price list, and term. Selling rates define the standard unit price charged to customers.
Download options: Blank, Populated, Latest, All
Lookup fields: Product Identifier, Price List Code, Term Code (dropdowns in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Product Identifier | Yes | The product this rate applies to |
| Price List Code | Yes | The price list this rate belongs to |
| Term Code | Yes | The term this rate applies to |
| Unit Rate | Yes | The price per unit |
| Effective Date | Yes | The date from which this rate takes effect |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Tip: Use Generate Latest to download only the most recent selling rate per product, price list, and term combination, rather than downloading the full rate history.
Source IP Addresses
Manage IP addresses associated with Source Collectors. These addresses are used for network configuration and access control.
Download options: Blank, Populated, All
Lookup fields: Base Data Source Key (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Base Data Source Key | Yes | The Source Collector this IP address is associated with |
| IP Address | Yes | The IP address (must be a valid IP address format) |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Source Notification Recipients
Manage notification email recipients for Source Collectors. Recipients receive notifications about collection job outcomes.
Download options: Blank, Populated, All
Lookup fields: Base Data Source Key (dropdown in populated template)
| Field | Required | Description |
|---|---|---|
| Operation | Yes | Insert, Update, Delete, or Unchanged |
| Base Data Source Key | Yes | The Source Collector this recipient is associated with |
| Recipient Email Address | Yes | The email address of the recipient (must be a valid email format) |
| Recipient Email Name | Yes | The display name of the recipient |
| Code | Yes | Unique record identifier. Auto-generated if left blank on insert. |
Best Practices
- Always download the latest template before preparing data. Template structures may be updated over time.
- Use the Populated Template option when working with lookup fields for the first time. The built-in dropdown lists help you select valid values.
- Validate a small sample file before uploading large datasets.
- Review the Status column in processed files immediately after each upload to identify and correct any errors.
- When using a populated or “All” template, set the Operation to Unchanged for rows you do not intend to modify.
- Use consistent naming conventions for Client Codes, Product Identifiers, and Contract Numbers to simplify data management.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article