From Freeside
Jump to: navigation, search


FS - Freeside Perl modules


Freeside perl modules and CLI utilities.

Utility classes

FS::Schema - Freeside database schema

FS::Setup - Setup subroutines

FS::Upgrade - Upgrade subroutines

FS::Conf - Freeside configuration values

FS::ConfItem - Freeside configuration option meta-data.

FS::ConfDefaults - Freeside configuration default and available values

FS::UID - User class (not yet OO)

FS::CurrentUser - Package representing the current user

FS::CGI - Non OO-subroutines for the web interface.

FS::Msgcat - Message catalog

FS::SearchCache - Search cache

FS::AccessRight - Access control rights.

FS::Report - Report data objects

FS::Report::Table - Report data objects

FS::Report::Table::Monthly - Report data objects

FS::XMLRPC - Backend XML::RPC server

FS::Misc - Miscellaneous subroutines

FS::payby - Payment types

FS::ClientAPI_SessionCache - ClientAPI session cache

FS::Pony - A pony

FS::cust_main::Import - Batch customer importing

Database record classes

FS::Record - Database record base class

FS::m2m_Common - Mixin class for classes in a many-to-many relationship

FS::m2name_Common - Base class for tables with a related table listing names

FS::option_Common - Base class for option sub-classes

FS::conf - Configuration value class

FS::payinfo_Mixin - Mixin class for records in tables that contain payinfo.

FS::access_user - Employees / internal users

FS::access_user_pref - Employee preferences

FS::access_group - Employee groups

FS::access_usergroup - Employee group membership

FS::access_groupagent - Group reseller access

FS::access_right - Access rights

FS::svc_acct_pop - POP (Point of Presence, not Post Office Protocol) class

FS::part_pop_local - Local calling area class

FS::part_referral - Referral class

FS::pkg_referral - Package referral class

FS::cust_main_county - Locale (tax rate) class

FS::cust_tax_exempt - Tax exemption record class

FS::cust_tax_exempt_pkg - Line-item specific tax exemption record class

FS::svc_Common - Service base class

FS::svc_Parent_Mixin - Mixin class for svc_ classes with a parent_svcnum field

FS::svc_acct - Account (shell, RADIUS, POP3) class

FS::acct_snarf - External mail account class

FS::acct_rt_transaction - Time worked application to account class

FS::radius_usergroup - RADIUS groups

FS::svc_domain - Domain class

FS::domain_record - DNS zone entries

FS::registrar - Domain registrar class

FS::svc_forward - Mail forwarding class

FS::svc_www - Web virtual host class.

FS::svc_broadband - DSL, wireless and other broadband class.

FS::addr_block - Address block class

FS::router - Router class

FS::part_virtual_field - Broadband virtual field class

FS::svc_phone - Phone service class

FS::phone_avail - Phone number availability cache

FS::cdr - Call Detail Record class

FS::cdr_calltype - CDR calltype class

FS::cdr_carrier - CDR carrier class

FS::cdr_upstream_rate - CDR upstream rate class

FS::cdr_type - CDR type class

FS::svc_external - Externally tracked service class.

FS::inventory_class - Inventory classes

FS::inventory_item - Inventory items

FS::part_svc - Service definition class

FS::part_svc_column - Column constraint class

FS::export_svc - Class linking service definitions (see FS::part_svc) with exports (see FS::part_export)

FS::part_export - External provisioning export class

FS::part_export_option - Export option class

FS::pkg_category - Package category class

FS::pkg_class - Package class class

FS::part_pkg - Package definition class

FS::part_pkg_link - Package definition link class

FS::part_pkg_taxclass - Tax class class

FS::part_pkg_option - Package definition option class

FS::pkg_svc - Class linking package definitions (see FS::part_pkg) with service definitions (see FS::part_svc)

FS::reg_code - One-time registration codes

FS::reg_code_pkg - Class linking registration codes (see FS::reg_code) with package definitions (see FS::part_pkg)

FS::rate - Rate plans for call billing

FS::rate_region - Rate regions for call billing

FS::rate_prefix - Rate region prefixes for call billing

FS::rate_detail - Rate plan detail for call billing

FS::usage_class - Usage class class

FS::agent - Agent (reseller) class

FS::agent_type - Agent type class

FS::type_pkgs - Class linking agent types (see FS::agent_type) with package definitions (see FS::part_pkg)

FS::payment_gateway - Payment gateway class

FS::payment_gateway_option - Payment gateway option class

FS::agent_payment_gateway - Agent payment gateway class

FS::cust_svc - Service class

FS::cust_pkg - Customer package class

FS::cust_pkg_option - Customer package option class

FS::cust_pkg_detail - Customer package details class

FS::reason_type - Reason type class

FS::reason - Reason class

FS::cust_pkg_reason - Package reason class

FS::cust_main - Customer class

FS::cust_main_location - Customer location class

FS::cust_main_Mixin - Mixin class for records that contain fields from cust_main

FS::cust_main_invoice - Invoice destination class

FS::cust_main_note - Customer note class

FS::banned_pay - Banned payment information class

FS::cust_bill - Invoice class

FS::cust_bill_pkg - Invoice line item class

FS::cust_bill_pkg_detail - Invoice line item detail class

FS::part_bill_event - (Old) Invoice event definition class

FS::cust_bill_event - (Old) Completed invoice event class

FS::part_event - (New) Billing event definition class

FS::part_event_option - (New) Billing event option class

FS::part_event::Condition - (New) Billing event condition base class

FS::part_event::Action - (New) Billing event action base class

FS::part_event_condition - (New) Billing event condition class

FS::part_event_condition_option - (New) Billing event condition option class

FS::part_event_condition_option_option - (New) Billing event condition compound option class

FS::cust_event - (New) Customer event class

FS::cust_bill_ApplicationCommon - Base class for bill application classes

FS::cust_pay - Payment class

FS::cust_pay_pending - Pending payment class

FS::cust_pay_void - Voided payment class

FS::cust_bill_pay - Payment application class

FS::cust_bill_pay_pkg - Line-item specific payment application class

FS::cust_bill_pay_batch - Batch payment application class

FS::cust_credit - Credit class

FS::cust_refund - Refund class

FS::cust_credit_refund - Refund application to credit class

FS::cust_credit_bill - Credit application to invoice class

FS::cust_credit_bill_pkg - Line-item specific credit application to invoice class

FS::cust_pay_refund - Refund application to payment class

FS::pay_batch - Credit card transaction queue class

FS::cust_pay_batch - Credit card transaction member queue class

FS::prepay_credit - Prepaid "calling card" credit class.

FS::nas - Network Access Server class

FS::port - NAS port class

FS::session - User login session class

FS::queue - Job queue

FS::queue_arg - Job arguments

FS::queue_depend - Job dependencies

FS::msgcat - Message catalogs



Historical database record classes

FS::h_Common - History table base class

FS::h_cust_pay - Historical record of customer payment changes

FS::h_cust_credit - Historical record of customer credit changes

FS::h_cust_bill - Historical record of customer tax changes (old-style)

FS::h_cust_svc - Object method for h_cust_svc objects

FS::h_cust_tax_exempt - Historical record of customer tax changes (old-style)

FS::h_domain_record - Historical DNS entry objects

FS::h_svc_acct - Historical account objects

FS::h_svc_broadband - Historical broadband connection objects

FS::h_svc_domain - Historical domain objects

FS::h_svc_external - Historical externally tracked service objects

FS::h_svc_forward - Historical mail forwarding alias objects

FS::h_svc_phone - Historical phone number objects

FS::h_svc_www - Historical web virtual host objects

Remote API modules

FS::SelfService - Self-service API

FS::SelfService::XMLRPC - Self-service XML-RPC API

User Interface classes

FS::UI::Web - Web user-interface class

FS::UI::bytecount - Byte counter user-interface class

Command-line utilities

freeside-adduser - Command line interface to add (freeside) users.

freeside-daily - Run daily billing and collection events.

freeside-monthly - Run monthly billing and invoice collection events.

freeside-dbdef-create - Recreate database schema cache

freeside-deluser - Command line interface to delete (freeside) users.

freeside-expiration-alerter - Emails notifications of credit card expirations.

freeside-email - Prints email addresses of all users on STDOUT

freeside-fetch - Send a freeside page to a list of employees.

freeside-prepaidd - Real-time daemon for prepaid packages

freeside-prune-applications - Removes stray applications of credit, payment to bills, refunds, etc.

freeside-queued - Job queue daemon

freeside-radgroup - Command line utility to manipulate radius groups

freeside-reexport - Command line tool to re-trigger export jobs for existing services

freeside-reset-fixed - Command line tool to set the fixed columns for existing services

freeside-sqlradius-dedup-group - Command line tool to eliminate duplicate usergroup entries from radius tables

freeside-sqlradius-radacctd - Real-time radacct import daemon

freeside-sqlradius-reset - Command line interface to reset and recreate RADIUS SQL tables

freeside-sqlradius-seconds - Command line time-online tool

freeside-upgrade - Upgrades database schema for new freeside verisons.


To quote perl(1), "If you're intending to read these straight through for the first time, the suggested order will tend to reduce the number of forward references."

If you've never used OO modules before, might help you out.


Freeside is a billing and administration package for wired and wireless ISPs, VoIP, hosting, service and content providers and other online businesses.

The Freeside home page is at <>.

The main documentation is at <>.


A mailing list for users is available. Send a blank message to <> to subscribe.

A mailing list for developers is available. It is intended to be lower volume and higher SNR than the users list. Send a blank message to <> to subscribe.

Commercial support is available; see <>.


Primarily Ivan Kohler, with help from many kind folks, including core contributors Jeff Finucane, Kristian Hoffman, Jason Hall and Peter Bowen.

See the CREDITS file in the Freeside distribution for a (hopefully) complete list and the individal files for details.


perl(1), main Freeside documentation at <>


Those modules which would be useful separately should be pulled out, renamed appropriately and uploaded to CPAN. So far: DBIx::DBSchema, Net::SSH and Net::SCP...