Difference between revisions of "Freeside:1.7:Documentation:Administration"

From Freeside
Jump to: navigation, search
(svc_acct)
Line 1: Line 1:
== Exports (provisioning) ==
+
= Exports (provisioning) =
  
 
'''Exports''' allow you to provision services to remote machines, databases and APIs.  Some exports, such as ''sqlradius'' and ''sqlradius_withdomain'',  enable a feed for retreiving rating/usage data.
 
'''Exports''' allow you to provision services to remote machines, databases and APIs.  Some exports, such as ''sqlradius'' and ''sqlradius_withdomain'',  enable a feed for retreiving rating/usage data.
Line 65: Line 65:
 
* artera_turbo.pm:
 
* artera_turbo.pm:
  
== Services ==
+
= Services =
  
 
* Some rough notes on setting up [[Freeside:1.7:Documentation:Administration:Services:svc_acct|username-based services]]
 
* Some rough notes on setting up [[Freeside:1.7:Documentation:Administration:Services:svc_acct|username-based services]]
  
== Packages ==
+
= Packages =
  
 
* Some notes on [[Freeside:1.7:Documentation:Administration:Upselling | Upselling]]
 
* Some notes on [[Freeside:1.7:Documentation:Administration:Upselling | Upselling]]
  
== Resellers ==
+
= Resellers =
  
== Employees ==
+
= Employees =
  
== Billing ==
+
= Billing =
  
=== Invoice events ===
+
== Invoice events ==
  
 
* Use invoice events to implement your business rules for re-sending invoices and late notices, retrying cards, suspending, etc.
 
* Use invoice events to implement your business rules for re-sending invoices and late notices, retrying cards, suspending, etc.
Line 89: Line 89:
 
* Invoice events can also be used to implement agent-virtualized invoices. (add more info)
 
* Invoice events can also be used to implement agent-virtualized invoices. (add more info)
  
=== Invoice templates ===
+
== Invoice templates ==
  
==== Typeset (LaTeX) invoice templates ====
+
=== Typeset (LaTeX) invoice templates ===
  
===== Prerequisites =====
+
==== Prerequisites ====
  
 
* Almost all distributions include the necessary prerequisites listed here, manual installation is practically never necessary.
 
* Almost all distributions include the necessary prerequisites listed here, manual installation is practically never necessary.
Line 100: Line 100:
 
* Ensure that the <code>pslatex</code>, <code>dvips</code>, and <code>pdflatex</code> command line utilities were installed
 
* Ensure that the <code>pslatex</code>, <code>dvips</code>, and <code>pdflatex</code> command line utilities were installed
  
===== Content setup =====
+
=== Content setup ===
  
 
* Edit the invoice_latexreturnaddress, invoice_latexfooter, invoice_latexnotes, and invoice_latexsmallfooter configuration options. If you are adventurous, edit invoice_latex as well.
 
* Edit the invoice_latexreturnaddress, invoice_latexfooter, invoice_latexnotes, and invoice_latexsmallfooter configuration options. If you are adventurous, edit invoice_latex as well.
  
===== Logo setup =====
+
==== Logo setup ====
  
 
* Save a vector format logo in EPS (Encapsulated PostScript) format.
 
* Save a vector format logo in EPS (Encapsulated PostScript) format.
Line 111: Line 111:
 
* Problems?  Try <code>bin/strip-eps <oldlogo.eps >trynewlogo.eps</code>
 
* Problems?  Try <code>bin/strip-eps <oldlogo.eps >trynewlogo.eps</code>
  
==== HTML invoice templates ====
+
=== HTML invoice templates ===
  
 
* Place your logo in PNG format at <code>/usr/local/etc/freeside/conf.''your_datasrc''/logo.png</code>  
 
* Place your logo in PNG format at <code>/usr/local/etc/freeside/conf.''your_datasrc''/logo.png</code>  
Line 117: Line 117:
 
* The following configuration options can be set to override the default behaviour of using the invoice_latex* data transformed to HTML: invoice_htmlreturnaddress, and invoice_htmlfooter, invoice_htmlnotes.  
 
* The following configuration options can be set to override the default behaviour of using the invoice_latex* data transformed to HTML: invoice_htmlreturnaddress, and invoice_htmlfooter, invoice_htmlnotes.  
  
==== Plaintext invoice templates ====
+
=== Plaintext invoice templates ===
  
 
* See the Text::Template documentation for details on the substitution language.
 
* See the Text::Template documentation for details on the substitution language.
Line 128: Line 128:
 
** @address - A six-element array containing the customer name, company, and address.
 
** @address - A six-element array containing the customer name, company, and address.
  
=== Credit cards and Electronic checks ===
+
== Credit cards and Electronic checks ==
 
* [[Freeside:1.7:Documentation:Administration:Real-time_Processing | Real-time credit card and electronic check processing]]
 
* [[Freeside:1.7:Documentation:Administration:Real-time_Processing | Real-time credit card and electronic check processing]]
 
* [[Freeside:1.7:Documentation:Administration:Batch_Processing | Batch credit card and electronic check processing]]
 
* [[Freeside:1.7:Documentation:Administration:Batch_Processing | Batch credit card and electronic check processing]]
Line 134: Line 134:
 
* Credit card decline alerts: Customize the ''declinetemplate'' configuration option and set the ''emaildecline'' configuration option.
 
* Credit card decline alerts: Customize the ''declinetemplate'' configuration option and set the ''emaildecline'' configuration option.
  
== Misc ==
+
= Misc =
  
 
* Setting up [[Freeside:1.7:Documentation:Administration:Encrypted Credit Cards | Encrypted Credit Cards]]
 
* Setting up [[Freeside:1.7:Documentation:Administration:Encrypted Credit Cards | Encrypted Credit Cards]]

Revision as of 18:15, 2 January 2008

Exports (provisioning)

Exports allow you to provision services to remote machines, databases and APIs. Some exports, such as sqlradius and sqlradius_withdomain, enable a feed for retreiving rating/usage data.

Exports can be added and edited under

Configuration -> Provisioning, services and packages -> View/edit exports

Click on Add a new export to create a new export. Select exports from the dropdown to show more information on each export, including available options, setup and usage.

Exports are activated by associating them with one or more service definitions.

Following is a list of which exports can be associated with each type of service.

svc_acct

  • acct_plesk.pm: Real-time export to Plesk managed mail service
  • acct_sql.pm: Real-time export of accounts to SQL databases .
  • artera_turbo.pm:
  • bsdshell.pm:
  • communigate_pro.pm: Real-time export to a CommuniGate Pro mail server
  • communigate_pro_singledomain.pm:
  • cpanel.pm: Real-time export to Cpanel control panel.
  • cp.pm: Real-time export to Critical Path Account Provisioning Protocol
  • cyrus.pm: Real-time export to Cyrus IMAP server
  • everyone_net.pm: Real-time export to Everyone.net outsourced mail service
  • infostreet.pm: Real-time export to InfoStreet streetSmartAPI
  • ldap.pm: Real-time export to LDAP
  • passwdfile.pm:
  • radiator.pm: Real-time export to RADIATOR
  • shellcommands.pm:
  • shellcommands_withdomain.pm: Real-time export via remote SSH (vpopmail, ISPMan)
  • sqlmail.pm: Real-time export to SQL-backed mail server
  • sqlradius.pm: Real-time export to SQL-backed RADIUS (FreeRADIUS, ICRADIUS)
  • sqlradius_withdomain.pm: Real-time export to SQL-backed RADIUS (FreeRADIUS, ICRADIUS) with realms
  • sysvshell.pm:
  • textradius.pm:
  • vpopmail.pm: Real-time export to vpopmail text files

svc_domain

  • bind.pm: Batch export to BIND named
  • bind_slave.pm: Batch export to slave BIND named
  • domain_shellcommands.pm: Run remote commands via SSH, for domains (qmail, ISPMan).
  • domain_sql.pm: Real time export of domains to SQL databases .
  • http.pm: Send an HTTP or HTTPS GET or POST request
  • sqlmail.pm: Real-time export to SQL-backed mail server

svc_forward

  • artera_turbo.pm:
  • forward_shellcommands.pm: Run remote commands via SSH, for forwards
  • postfix.pm: Postfix text files
  • sqlmail.pm: Real-time export to SQL-backed mail server

svc_www

  • apache.pm: Export an Apache httpd.conf file snippet.
  • www_plesk.pm: Real-time export to Plesk managed hosting service
  • www_shellcommands.pm: Run remote commands via SSH, for virtual web sites (directory maintenance, FrontPage, ISPMan)

svc_broadband

  • nas_wrapper.pm: A meta-export that triggers other svc_broadband exports.
  • prizm.pm: Real-time export to Northbound Interface
  • router.pm: Send a command to a router.
  • snmp.pm: Sends SNMP SETs to an SNMP agent.
  • trango.pm: Sends SNMP SETs to a Trango AP.

svc_external

  • artera_turbo.pm:

Services

Packages

Resellers

Employees

Billing

Invoice events

  • Use invoice events to implement your business rules for re-sending invoices and late notices, retrying cards, suspending, etc.

Configuration -> Billing -> View/Edit invoice events

  • The freeside-daily script should be run daily to bill customers and run invoice collection events.
    • Typically, this is accomplished with an entry in the freeside user's crontab such as:
      0 0 * * * /usr/local/bin/freeside-daily
    • If running freeside-daily manually, ensure the TZ variable is set to your timezone with a command such as:
      TZ="US/Pacific" freeside-daily fs_daily
  • If any monthly events are enabled, the freeside-monthly script should be run monthly.
  • Invoice events can also be used to implement agent-virtualized invoices. (add more info)

Invoice templates

Typeset (LaTeX) invoice templates

Prerequisites

  • Almost all distributions include the necessary prerequisites listed here, manual installation is practically never necessary.
  • Install Ghostscript (gs)
  • Install teTeX or TeX Live
  • Ensure that the pslatex, dvips, and pdflatex command line utilities were installed

Content setup

  • Edit the invoice_latexreturnaddress, invoice_latexfooter, invoice_latexnotes, and invoice_latexsmallfooter configuration options. If you are adventurous, edit invoice_latex as well.

Logo setup

  • Save a vector format logo in EPS (Encapsulated PostScript) format.
  • Resize the logo to 90pt X 36pt: epsffit -c 0 0 90 36 yourlogo.eps >logo.eps
  • Copy the resized logo to /usr/local/etc/freeside/conf.your_datasrc/logo.eps
  • Problems? Try bin/strip-eps <oldlogo.eps >trynewlogo.eps

HTML invoice templates

  • Place your logo in PNG format at /usr/local/etc/freeside/conf.your_datasrc/logo.png
  • Edit the invoice_html configuration option or the /usr/local/etc/freeside/conf.your_datasrc/invoice_html file. HTML invoices use Text::Template with <%= and %> delimiters.
  • The following configuration options can be set to override the default behaviour of using the invoice_latex* data transformed to HTML: invoice_htmlreturnaddress, and invoice_htmlfooter, invoice_htmlnotes.

Plaintext invoice templates

  • See the Text::Template documentation for details on the substitution language.
  • You must call the invoice_lines() function at least once - pass it a number of lines, and it returns a list of array references, each of two elements: a service description column, and a price column. Alternatively, call invoice_lines() with no arguments, and pagination will be disabled - all invoice line items will print on one page, with no padding (recommended for email invoices).
  • In addition, the following variables are available:
    • $invnum - invoice number
    • $date - as a UNIX timestamp (see Date::Format for conversion functions).
    • $page - current page
    • $total_pages - total pages
    • @address - A six-element array containing the customer name, company, and address.

Credit cards and Electronic checks

Misc