You can import and bulk edit data from spreadsheet files (.csv) using data import. This feature can be very helpful when setting up the smartbilling data from other systems. To start, navigate to the "Imports" through the Administration UI panel:
Smartbilling separates the data imports into the various relevant data objects:
Core components of the data types in red will be reviewed as part of this Basic Start section.
NOTE: All data import CSV files can also contain columns for Custom Fields created by the SB user.
Regardless of the data object type, all data imports function in a similar manner.
Once the user has navigated to the Imports page, the data import object types will appear on the left-hand panel. To illustrate the common data import functions, let us use the example of importing customer account information; a common use case.
Click on the "Accounts" link and the panel will expand to show the various customer account-related data objects:
The user will be presented with a screen which will allow the upload of a CSV file:
Skip: the system will skip the duplicate record
Merge: the system will add any field value wherein there is currently a null value in the record. For example, if "Contact - First Name" in the accounts data object is null, and the csv file contains value of "John". Note that if there is already an existing value, then the CSV data will be ignored. Note that the system will update any field contained in the import file based on the unique keys marked in the import, for example:
Overwrite: the system will overwrite any field value that is currently defined in the system with any value, including null that it finds in the CSV file. For example, if the CSV contains a column called "Invoicing Start Date" and this column is blank, then all customer account records found will have their "Invoicing Start Date" values set to null.
Note: the CSV file can contain columns that are not to be mapped. This is sometimes helpful to have during onboarding to provide additional annotation and information for records.
Merging and overwriting existing data objects in a working production instance can be dangerous. Consult with your smartbilling contact prior to doing so.
When a file which meets the preliminary validation checks is loaded, the column headers and data mappings are presented for verification. For example:
Once the mappings are verified, click on "Save" at the bottom of the screen to start the import process.
It is highly recommended that users upload a small subset of data (10-20 records) and verify that outcomes are as expected; prior to loading larger data sets. Upon successsful test, users can delete the import to remove the data from the system.
Once a file is processed, the user can review whether all records were successfully imported:
Error details can be obtained by either clicking on the "note" icon (will export errors as a csv file); or by clicking on the red number denoting the number of errors (will open new UI screen to show error details).
Users can also click on the "X" icon to completely delete the import and remove the imported data from the system.
If deleting multiple files, ensure that they are deleted while respecting the import order. Else, data corruption can be encountered.
When creating a new test or live version of a smartbilling instance, the following sequence of file imports is recommended:
If this sequence is not followed, then the user may encounter errors because of broken data relationship dependencies.
While not required, if a user requires charges or customer accounts to be linked to an internal GL account, then the GL account values must be loaded first.
GL account.csv can be used to mass upload GL accounts instead of adding them one-by-one in the Administration panel. Please find below, the details for each field of the GL account.csv import file:
This section describes the requirements to mass import basic customer information into the smartbilling application. Primarily, the customer.csv and location.csv file uploads.
Reminder: All data import CSV files can also contain columns for Custom Fields created by the SB user.
Customer.csv can be used to create customer records via CSV import. Please find in the PDF below, the details for each field of the customer.csv import file:
Customer location.csv can be used to update existing customer records with additional locations. Please find below, the details for each field of the customer locations.csv import file:
Once the catalog services, customer accounts, and customer locations are loaded into the system, then service or plan subscriptions can created.
Mass import of subscriptions requires at the minimum, two (2) files:
A subscription data object will map a service to a customer account and location
Additional types of charges will require other CSV files to be uploaded:
Product sub-charges and Charges sub-charges can also be used if a Service is configured to include these types of data objects. If to be used, they should be uploaded after subscription Products and Charges have been successfully loaded.
At least one of subscription-charges, subscription-products, and subscription-usage-rates child CSV file is required when creating a new subscription
The only valid charges, products, and usage rates are those that already exist within the defined service.
Reminder: All data import CSV files can also contain columns for Custom Fields created by the SB user.
Subscription.csv can be used to add or update subscriptions en masse. The child CSV files: subscription-charges, subscription-products, and subscription-usage-rates can be used as required if the user requires adding those record types to newly created subscriptions. Please find below, the details for each field of the customer subscription.csv import file:
Within either the subscription or the subscription.usage rate (or both), a SB user will need to define what billing period the system will assign to uploaded usage records.
For example, on upload for the record below, the system marked the usage record with Bill_period = "2023-11-01 00:00:00". This was determined by the system based on the call (start) date; here: "2023-10-10 12:34:30"; as well as the parameters used for the subscription usage cut-off: "1st of Period" and the subscription.usage rate billing period offset: "1 period in arrears".
Note the billing period is defined at hour "00:00:00" (server time). If the user wants the usage up to 23:59:59 (11:59 PM) of that day, they must define the billing period date as the following day.
The related subscription header configuration:
The related subscription.usage rate configuration:
Note that the field "usage cut-off" can be defined either at the subscription level (which sets the default for all usage rate-level values); or at the usage rate level. Defining at the usage rate level allows the user to be able to have different configurations for different usages; for example for data vs. mobile minutes; or for local vs. international usage.
(Subscription) charge.csv can be used to add or update subscription charges. Please find below, the details for each field of the (subscription) charge.csv import file:
Depending on the charge type (recurring, minimum recurring, one-time), other fields may be available.
(Subscription) usage rate.csv can be used to add or update subscription charges related to variable billed (or unbilled) service usage. Please find below, the details for each field of the (subscription) usage rate.csv import file: