Billing
- Add one or more Invoice events implmenting your business rules for re-sending invoices, retrying cards, suspending, etc.
- You can bill individual customers by clicking on the Bill now link on the main customer view.
- The freeside-daily script should be run daily to bill customers and run invoice collection events.
- Real-time credit card processing: Install the Business::OnlinePayment module for your processor. Configure the business-onlinepayment configuration option. Disable the default Batch card invoice event and add one for Business::OnlinePayment.
- Optional: Credit card expiration alerts: Customize alerter_template configuration option and run freeside-expiration-alerter daily.
- Credit card decline alerts: Customize the declinetemplate configuration option and set the emaildecline configuration option.
- Typeset (LaTeX) invoice templates
- Install teTeX and Ghostscript (included with most distributions).
- Place your logo in EPS (Encapsulated PostScript) format at
/usr/local/etc/freeside/conf.your_datasrc/logo.eps
.
- Edit the invoice_latexfooter, invoice_latexnotes, and invoice_latexsmallfooter configuration files. If you are adventurous, edit invoice_latex as well.
- 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.