links to show alternate invoices also
[freeside.git] / FS / FS.pm
1 package FS;
2
3 use strict;
4 use vars qw($VERSION);
5
6 $VERSION = '0.01';
7
8 #find missing entries in this file with:
9 # for a in `ls *pm | cut -d. -f1`; do grep 'L<FS::'$a'>' ../FS.pm >/dev/null || echo "missing $a" ; done
10
11 1;
12 __END__
13
14 =head1 NAME
15
16 FS - Freeside Perl modules
17
18 =head1 SYNOPSIS
19
20 Freeside perl modules and CLI utilities.
21
22 =head2 Utility classes
23
24 L<FS::Conf> - Freeside configuration values
25
26 L<FS::ConfItem> - Freeside configuration option meta-data.
27
28 L<FS::UID> - User class (not yet OO)
29
30 L<FS::CGI> - Non OO-subroutines for the web interface.
31
32 L<FS::Msgcat> - Message catalog
33
34 L<FS::SearchCache> - Search cache
35
36 L<FS::raddb> - RADIUS dictionary
37
38 =head2 Database record classes
39
40 L<FS::Record> - Database record base class
41
42 L<FS::svc_acct_pop> - POP (Point of Presence, not Post
43 Office Protocol) class
44
45 L<FS::part_pop_local> - Local calling area class
46
47 L<FS::part_referral> - Referral class
48
49 L<FS::cust_main_county> - Locale (tax rate) class
50
51 L<FS::cust_tax_exempt> - Tax exemption record class
52
53 L<FS::svc_Common> - Service base class
54
55 L<FS::svc_acct> - Account (shell, RADIUS, POP3) class
56
57 L<FS::acct_snarf> - External mail account class
58
59 L<FS::radius_usergroup> - RADIUS groups
60
61 L<FS::svc_domain> - Domain class
62
63 L<FS::domain_record> - DNS zone entries
64
65 L<FS::svc_forward> - Mail forwarding class
66
67 L<FS::svc_www> - Web virtual host class.
68
69 L<FS::svc_broadband> - DSL, wireless and other broadband class.
70
71 L<FS::svc_external> - Externally tracked service class.
72
73 L<FS::part_svc> - Service definition class
74
75 L<FS::part_svc_column> - Column constraint class
76
77 L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
78 with exports (see L<FS::part_export>)
79
80 L<FS::part_export> - External provisioning export class
81
82 L<FS::part_export_option> - Export option class
83
84 L<FS::part_pkg> - Package (billing item) definition class
85
86 L<FS::pkg_svc> - Class linking package (billing item)
87 definitions (see L<FS::part_pkg>) with service definitions
88 (see L<FS::part_svc>)
89
90 L<FS::agent> - Agent (reseller) class
91
92 L<FS::agent_type> - Agent type class
93
94 L<FS::type_pkgs> - Class linking agent types (see
95 L<FS::agent_type>) with package (billing item) definitions
96 (see L<FS::part_pkg>)
97
98 L<FS::cust_svc> - Service class
99
100 L<FS::cust_pkg> - Package (billing item) class
101
102 L<FS::cust_main> - Customer class
103
104 L<FS::cust_main_invoice> - Invoice destination
105 class
106
107 L<FS::cust_bill> - Invoice class
108
109 L<FS::cust_bill_pkg> - Invoice line item class
110
111 L<FS::cust_bill_pkg_detail> - Invoice line item detail class
112
113 L<FS::part_bill_event> - Invoice event definition class
114
115 L<FS::cust_bill_event> - Completed invoice event class
116
117 L<FS::cust_pay> - Payment class
118
119 L<FS::cust_pay_void> - Voided payment class
120
121 L<FS::cust_bill_pay> - Payment application class
122
123 L<FS::cust_credit> - Credit class
124
125 L<FS::cust_refund> - Refund class
126
127 L<FS::cust_credit_refund> - Refund application to credit class
128
129 L<FS::cust_credit_bill> - Credit application to invoice class
130
131 L<FS::cust_pay_refund> - Refund application to payment class
132
133 L<FS::cust_pay_batch> - Credit card transaction queue class
134
135 L<FS::prepay_credit> - Prepaid "calling card" credit class.
136
137 L<FS::nas> - Network Access Server class
138
139 L<FS::port> - NAS port class
140
141 L<FS::session> - User login session class
142
143 L<FS::queue> - Job queue
144
145 L<FS::queue_arg> - Job arguments
146
147 L<FS::queue_depend> - Job dependencies
148
149 L<FS::msgcat> - Message catalogs
150
151 =head1 Remote API modules
152
153 L<FS::SelfService>
154
155 L<FS::SignupClient>
156
157 L<FS::SessionClient>
158
159 L<FS::MailAdminServer> (deprecated in favor of the self-service server)
160
161 =head2 Command-line utilities
162
163 L<freeside-adduser>
164
165 L<freeside-queued>
166
167 L<freeside-daily>
168
169 L<freeside-expiration-alerter>
170
171 L<freeside-email>
172
173 L<freeside-cc-receipts-report>
174
175 L<freeside-credit-report>
176
177 L<freeside-receivables-report>
178
179 L<freeside-tax-report>
180
181 L<freeside-bill>
182
183 L<freeside-overdue>
184
185 =head2 User Interface classes (under (stalled) development; not yet usable)
186
187 L<FS::UI::Base> - User-interface base class
188
189 L<FS::UI::Gtk> - Gtk user-interface class
190
191 L<FS::UI::CGI> - CGI (HTML) user-interface class
192
193 L<FS::UI::agent> - agent table user-interface class
194
195 =head2 Notes
196
197 To quote perl(1), "If you're intending to read these straight through for the
198 first time, the suggested order will tend to reduce the number of forward
199 references."
200
201 If you've never used OO modules before,
202 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
203
204 =head1 DESCRIPTION
205
206 Freeside is a billing and administration package for Internet Service
207 Providers.
208
209 The Freeside home page is at <http://www.sisd.com/freeside>.
210
211 The main documentation is in httemplate/docs.
212
213 =head1 SUPPORT
214
215 A mailing list for users is available.  Send a blank message to
216 <ivan-freeside-subscribe@sisd.com> to subscribe.
217
218 A mailing list for developers is available.  It is intended to be lower volume
219 and higher SNR than the users list.  Send a blank message to
220 <ivan-freeside-devel-subscribe@sisd.com> to subscribe.
221
222 Commercial support is available; see
223 <http://www.sisd.com/freeside/commercial.html>.
224
225 =head1 AUTHOR
226
227 Primarily Ivan Kohler <ivan@sisd.com>, with help from many kind folks.
228
229 See the CREDITS file in the Freeside distribution for a (hopefully) complete
230 list and the individal files for details.
231
232 =head1 SEE ALSO
233
234 perl(1), main Freeside documentation in htdocs/docs/
235
236 =head1 BUGS
237
238 Those modules which would be useful separately should be pulled out, 
239 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
240 and Net::SCP...
241
242 =cut
243