Customer:OnPac
From Freeside
Contents
Schema changes
- Add usage_elec table and class (see Schema Changes)
- id serial primary_key
- _date @date_type
- kwatts int
- tdsp @money_type
- svcnum int NULL (svc_external.id contains ESIID)
Usage import
- Import usage charges into usage_elec table (Usage charges)
- Add import subroutine to usage_elec.pm
- Add page to web UI to accept upload
- Add menu entry and ACL for new page Tools->Importing->Import electricity usage from CSV file
- Associate usage charges with specific customer/package (Static mapping)
- Trigger billing for that customer package (Billing)
Usage charges
- KW -> usage_elec.kwatts
- Invoice date -> usage_elec._date
- TDSP - PASS THRU CHARGE -> usage_elec.tdsp
Static mapping
- ESIID -> svc_external.id (associates with customer)
- CUSTOMER NAME -> informational only, or sanity check w/ Freeside data
- CUSTOMER ACCOUNT -> cust_main.agent_custid (sanity check with customer via ESIID)
Unknown
Still have to determine how to handle these fields in import:
- Invoice number -> need to store/use somehow instead of autogenerated invoice number?
- Add new cust_bill column if necessary (cust_bill.agent_invoiceid)
- Use this field when displaying instead of the internal invoice # (option to turn on)
- Search this field exclusively when searching for invoice numbers (option to turn on)
- Cross reference -> what is this for?
Billing
- Add a rate plan to bill on demand, triggered by the import
- Calculate Kw difference & multiply by a rate (rate stored in part_pkg_option)
- Pass through the desired details as cust_bill_pkg_detail
Add'l work
- Handle Due Date
- Add new cust_bill column to store per-invoice due dates
- Have import associate this with the bills it triggers