Bill import with advanced file format

Bill import is a process to import multiple bills into UtilityManagement using an Excel or .csv file.

To get a sample advanced bill import file format:
1. Select several bills from a bill list.
2. Click Downloads.
3. Choose Bill Import File.
4. Open the file and review the column headers.

 

Bill import basic information

  1. Use a CSV or Excel file. To upload multiple CSV and/or Excel files at one time they can be combined into one zip file. Your zip file should only include CSV or Excel files.
  2. Only the first sheet of an Excel workbook is imported.
  3. Each row corresponds to one account/meter relationship. If you receive one bill for two meters (electric and natural gas), you need two separate consecutive rows.

    The importer assumes rows for the same bill if all these items match in consecutive rows:
  • Account code
  • Start date
  • End date
  • Vendor code (if it exists)
  1. Each bill line item is represented in a column. For example, use for electric meters and use for natural gas meters exist in two separate columns.
  2. If a .csv file has a row with all commas, the row is ignored.
  3. An asterisk (*) as the first symbol in the column header causes the column to be skipped, except for columns used to autocreate objects.

Required

  • Account code
  • Start date
  • End date
  • A/C/E
  • Metercode 

Account

  • Must be active.
  • Must include the vendor code, if duplicate account numbers exist for different vendors.

Bill start and end date

  • Must fall between the account service begin and end dates.

Account Alert messages are honored. Alerts can be configured to prevent bill entry:

  • If a bill has an active alert, the message is added to the bill.
  • If the account alert is set to block status, the bill is not imported.

Required format

The import file must include:

  • A header row.
  • The columns in the CORRECT order.
  1. ACCOUNTCODE: the alpha-numeric account code for the bill record, cannot be NULL.
  2. STARTDATE (YYYYMMDD): The billing period start date.
  3. ENDDATE (YYYYMMDD): The billing period end date.
  4. ACE: If blank A is used. The represents the bill type (A=Actual, C=Corrected, E=Estimated). Recommended to use C, if you may have overlapping history and to preserve any existing bills in the database.
  5. METERCODE: The metercode column is required, but can be populated with !AUTO! if  only one meter per commodity exists or if you add a column for serial number and include the meter's serial number. If entering an account level charge this column is left blank.
  6. VENDORCODE: Optional. If duplicate account codes with different vendor codes exist, vendor code must be included.
  7. VPR: Optional. Recommended to help manage how existing bills in the database are handled during bill import.

Required sort order

The import file records MUST be sorted in the following sequence. Data must be grouped by account code, bill start date, and bill end date to have multiple body lines on the same bill. If the file is not sorted properly the import produces inconsistent results.

  1. Ascending account code.
  2. Ascending vendor code (if included).
  3. Ascending start date.
  4. Ascending end date.
  5. Ascending meter code. If multiple meters are on the same account, all meters MUST appear on consecutive lines and all meters MUST have the same bill start and end dates.

Bill start date adjustment

To ensure no gaps in your billing data, UtilityManagement is designed to have bills start on the same day as the previous bill ends.
As discussed in Bill Start and End Dates, some utility vendors do not follow this logic. An enhancement has been made to the bill import processer to identify bills with this one day gap (the begin date is one day after the end date).

The importer adjusts the start date of the bill to the end date of the prior bill and adds a bill note.

Actual/Corrected/Estimated (A/C/E)

The A/C/E and V/P/R flags help you import bills with the same start date, end date, and account code.
These two columns provide specific instructions to the import processor on how to process bills already existing in the database.

If A/C/E column is included in the file and the field has any character other than A, C, or E the line is invalid and the bill record is kicked out. If the field is left blank A is the default.

Actual

  1. A indicates an actual bill.
  2. Any existing bills in the database with the same account and dates are deleted. This imported bill is assigned a new bill id (not the same id as the one it is replacing), this may impact bill export and cause the bill to be exported again.

Corrected

  1. C indicates a corrected bill.
  2. Any existing bills in the database with the same account and dates are NOT deleted. This could result in duplicate bills (the original bill and the corrected bill).

Estimated

  1. E indicates an estimated bill.
  2. Any existing bills in the database with the same account and dates are deleted. This imported bill is assigned a new bill id (not the same id as the one it is replacing), this may impact bill export and cause the bill to be exported again.

Void/Preserve/Reject (V/P/R)

If the V/P/R column is blank the bills are imported using the A/C/E logic.

If the column has any character other than V, P or R the line is invalid and the bill record is kicked out.

Void

V indicates the existing bill should be marked as Void and the new bill is created.

Preserve

P indicates any existing bill should be preserved, NOT deleted, and not voided and the new bill is created.

Reject

R indicates any existing bill should be preserved and a new bill is NOT created. A kickout is produced for the bill being imported.

How A/C/E and V/P/R work together

A/C/E

V/P/R

Logic applied
to bill in the import file

Logic applied
to bill in database

 

 

Create the new bill in database

Existing bill is deleted

A

 

Create the new bill in database

Existing bill is deleted

A

V

Create the new bill in database

Existing bill is voided

A

P

Create the new bill in database

Existing bill is preserved (possibly 2 overlapping bills)

A

R

Reject the new bill

Existing bill is preserved

C

 

Create the new bill in database

Existing bill is preserved  (possibly 2 overlapping bills)

C

V

Create the new bill in database

Existing bill is voided

C

P

Create the new bill in database

Existing bill is preserved (possibly 2 overlapping bills)

C

R

Reject the new bill

Existing bill is preserved

E

 

Create the new estimated bill in the database

Existing bill is deleted

E

V

Create  the new estimated bill in the database

Existing bill is voided

E

P

Create the new estimated bill in the database

Existing bill is preserved  (possibly 2 overlapping bills)

E

R

Reject the new estimated bill

Existing bill is preserved

Meter code rules

  • If the meter code is NULL, the values are applied to the account ONLY.
  • If the meter code is NULL, MONEY is assumed for the bill line item because no use information can be applied to an account.
  • If the meter code exists for the account, the billing information is imported for the meter.
    • If the meter code doesn't exist, a kickout (error) spreadsheet is created.
  • If the meter code=!AUTO!
    • If USE and only ONE meter exist for the account, the values are assigned to the meter.
    • If more than one meter is assigned to the account a kickout (error) spreadsheet is created with the message too many matching meters.
    • If the account has more than one meter on it of different commodities you can use !AUTO!:COMMODITY where COMMODITY is the commodity code of the meter. This lets you use the !AUTO! lookup feature for accounts with multiple meters of different commodity types. If the account has more than one meter of the commodity type in the !AUTO!:COMMODITY value, then the importer generates an error message indicating "Cannot determine meter code".

Most often used bill line types

The following are a list of the most often used Bill Line Types grouped by category.

(Entire list of available codes)

Billed Demand

  • Billed Demand - BILLEDDEMAND

Billed Usage

  • Billed Use - BILLEDUSE

Charge

  • Charge - CHARGE
  • Cost Adjustment Charge - COSTADJUSTCHARGE
  • Fee - FEE
  • Customer Charge - CUSTOMERCHARGE
  • Total Pay Amount - TOTALPAYAMOUNT
  • Info_Cost (Informational, not counted) - INFO_COST

Cost

  • Total Cost - TOTALCOST
  • Info Cost (information, not counted) - INFO_COST
  • Prior Balance (Informational, not counted) - PRIORBALANCE

Demand

  • Demand - DEMAND
  • Mid-Peak Demand - MIDPEAKBILLDEM
  • Off-Peak Demand - OFFPEAKDEM
  • On-Peak Demand - ONPEAKDEM

Tax

  • Tax - TAX
  • State Tax - STATETAX
  • City Tax - CITYTAX

Usage

  • Use - USE
  • Info_Use (Informational, not counted) - INFO_USE
  • Off Peak Use - OFFPEAKUSE
  • Mid Peak Use - MIDPEAKUSE
  • On Peak Use - ONPEAKUSE

Use Reading

  • Reading Use (Informational, not counted) - READINGUSE

Example column headers

This example import file produces the following bill. (If you are using the default label it does not need to be included.)

USE:
KWH:Usage

USE:
USDOLLARS

DEMAND:
KW:Demand

ONPKDEMAND:
KW:On Peak Demand

18000

100.00

30

0


For example, consecutive columns USE:KWH and USE:USDOLLARS result in a single line on the bill.

bill line items

Bill line item column header format

Line Item Type:Unit:Label

To show use and cost on a single line on the bill (use/cost pair), you must enter the use column first and immediately follow with the cost. If two consecutive columns have the same TYPE, and the second column is a cost UNIT, a single line item is created on the bill using both the use and cost. For use/cost pairs, if used, both use and cost must have a value, even if 0.

Each row represents charges for a specific meter, some rows of data do not have values for some columns. The TYPE:UNIT:LABEL for water is different from electric, therefore some columns are empty.

For example, a file containing data for accounts with Electric Use and Cost, Electric Demand and Cost, and Natural Gas Use and Cost includes a header record of three use/cost pairs:

  • USE:KWH
  • USE:USDOLLARS
  • BILLEDDEMAND:KW
  • BILLEDDEMAND:USDOLLARS
  • USE:CCF
  • USE:USDOLLARS

USE:
KWH

USE:
USDOLLARS

BILLEDDEMAND:
KW

BILLEDDEMAND:
USDOLLARS

USE:
CCF

USE:
USDOLLARS

1800

100.00

30

25.00

 

 

 

 

 

 

100

15.00

The body lines for Electric Use/Cost and Demand/Cost are typically associated with an electric meter and the body lines for Natural Gas Use/Cost are typically associated with a natural gas meter. The Natural Gas Use/Cost columns should not be populated in the electric meter row.

NULLS are not permitted

Using the example above, each half of the use/cost pair must exist in the spreadsheet and must be populated.

For example, the following produces an error:

Optional label

Normally the label is equal to the TYPE.

To create your own label use a third entry in the heading. For example:

  • USE:KWH:ON-PEAK TIER 1

Optional label rules

  • Label cannot have a colon
  • If using a use/cost pair, only add the label to the first item in the pair

EndOfRecord

A column *END_OF_RECORD is HIGHLY recommended as the last column for your import file. Use a value of X for the column.

Begin the column header with an asterisk (*) to skip the import of the column.

Optional fields

After the mandatory columns, optional columns can be added with the column header defining the column contents. Optional columns can be left blank.

Column header

Information

BILLPERIOD

MM:YYYY

Forces the billing period assignment.  See Determine Billing Period for more information.

If blank uses UtilityManagement logic.

DUEDATE

YYYYMMDD

STATEMENTDATE

YYYYMMDD

CONTROLCODE

Used to associate a bill image with a bill when UtilityManagement is configured for this option.

ACCTPERIOD

MM:YYYY

Enter the accounting period number, not the accounting period name.

VENDORCODE

Not required, but if used it must immediately follow METERCODE (Advanced File only). If duplicate account codes with different vendor codes exist, vendor code must be included.

INVOICENUMBER

The invoice number for the bill.

METERSERIAL

Serial number of the meter associated with the bill. A mismatch between the import sheet and UtilityManagement does not prevent a successful import. A bill audit can be configured to flag bills with a mismatch.

RATECODE

A mismatch between the value in the import sheet and UtilityManagement does not prevent a successful import. A bill audit can be configured to flag bills with a mismatch.

BILLINGPERIOD

!AUTO!, !START!, !MIDDLE!, !END!  Determining Billing Period provides more details.

BILLNOTE

Import notes associated with the bill. Remember you are importing a CSV file and your comment cannot include a comma.

Common import scenarios

Description Billing Period Assigned
A bill for March exists.  
Billing period column set to !AUTO!, start date is 4/15/2018 and end date is 5/20/2018. (middle day is 5/2) 201804
   
A bill for March exists.  
Billing period column set to !AUTO!, start date is 4/15/2018 and end date is 5/21/2018 (middle day is 5/2) 201804
   
A bill for March exists.  
Billing period column set to !AUTO!, start date set to 4/30/2018 and end date is 5/5/2018 201804
   

A bill for April exists.

 
Billing period column set to !AUTO!, start date set to 4/16/2018 and end date set to 5/16/2018 (middle day is 4/30) 201805, logic creates a May bill as an April bill exists
   

A bill for April exists.

 
Billing period column set to !AUTO!, start date set to 4/26/2018 and end date set to 5/1/2018 (middle day is 4/28) 201804, logic does not move the bill to May because the bill has no days in May
   

A bill for April exists.

201804
Billing period column set to !AUTO!, start date set to 4/26/2018 and end date is set to 5/2/2018 (middle day is 4/28) 201805, bill has a May value
   
Account level - No meter code in import file, matching serial number. Bill with account level charge is created.
Account level - No meter code or serial number in import file. Bill with account level charge is created.
Account level - No meter code in import file, use value included. No bill created, unable to find meter.

Example file

excel file screen shot

This bill is from the first line of the file above.

bill lines