Freeside:3:Documentation:Administration:invoice layout

From Freeside
Jump to: navigation, search

Invoice Layout and Content

Basic Invoice Styles

Several variables make significant changes to the appearance of invoices.

invoice_sections
enables the division of invoices into sections defined by package categories
package categories must be setup for this to work properly
invoice_sections_method
Section the invoices based on location, instead of package category.

With sectionsWithout sections

invoice_usesummary
Indicates that html and latex invoices should be in summary style and make use of invoice_latexsummary or invoice_htmlsummary.
summary_subtotals_method
Defines what information to use when displaying summaries on invoices. Locations and package categories currently supported.

With summaryWithout summary

usage_class_as_a_section
enables the construction of a section per usage_class on invoices

Usage class as a section

svc_phone_sections
enables the creation of a section for each svc_phone

svc_phone sections

Invoice Templates

  • {{#ifeq: latex | latex | LaTeX | HTML }} invoices use Text::Template with {{#ifeq: latex | latex | [@-- and --@] | <%= and %> }} delimiters.
  • {{#ifeq: latex | latex | Edit the invoice_latexcoupon, | The following can be set to override the default behaviour of using the invoice_latex* data transformed to HTML: }} invoice_latexreturnaddress, invoice_latexfooter, invoice_latexnotes, and invoice_latexsmallfooter configuration options. {{#ifeq: latex | latex | If you are adventurous, | You may }} edit invoice_latex as well.

Common VOIP plan options for invoice appearance

Certain configuration options on telephony plan packages can have significant impact on the appearances of invoices by changing the data calculated and stored at the time of invoice generation.


CDR invoice display format [output_format]
controls the data stored for the usage detail on the invoice. Current choices are
 default                   - date, time, destination, regionname, duration, price
 default with source       - source, date, time, destination, regionname, duration, price
 default with account code - date, time, account code, destination, regionname, duration, price
 simple                    - date, time, user, destination, duration, price
 simple with source        - date, time, source, destination, duration, price
Section in which to place usage charges (whether separated or not) [usage_section]
names an invoice section which is to contain the usage portion of the invoiced package. If the section is to be included in a summary page then you will need to ensure the spelling exactly matches a package category
Include usage summary with recurring charges when usage is in separate section [summarize_usage]
creates an additional (2nd) line on the invoice showing the total usage associated with the package. Typically appears below a 'setup' and 'recurring' line (if they exist).
Always put usage details in separate section [usage_mandate]
causes freeside to generate an extra section for the usage details even when freeside is not using invoice sections. Make sure to also set the section (usage_section) you want the CDR's to go into.

Other Variables Changing Invoice Layout at Billing Time

separate_usage
controls the splitting of the setup, recurring, and usage components of packages into separate line items at generation time. It is one of two mechanisms which cause one or more separate 'Usage' lines to appear for each package. The other is the usage_mandate on a telephony price plan.

Variables Neither Perfectly Rendering nor Perfectly Generational

date_format
describes the appearance of dates

Usage is not universal and in some instances date format may be frozen when data is stored in the database.

money_char
defines the symbol to be used for currency in many locations

Usage is not universal and may in some instances be stored permanently in the database.

invoice_default_terms
declares the default payment terms for invoices

When this setting is changed, invoices which were not defaulted will retain their old value.

Boolean Rendering Variables

invoice_show_prior_due_date
Show previous invoice due dates when showing prior balances. Default is to show invoice date.
invoice_include_aging
Show an aging line after the prior balance section. Only valid when invoice_sections is enabled.
invoice_smallernotes
Display the notes section in a smaller font on invoices.
invoice_smallerfooter
Display footers in a smaller font on invoices.
invoice-ship_address
Include the shipping address on invoices.
invoice-all_pkg_addresses
Show all package addresses on invoices, even the default.
disable_line_item_date_ranges
Prevent freeside from automatically generating date ranges on invoice line items.
disable_previous_balance
Disable inclusion of previous balance, payment, and credit lines on invoices.
previous_balance-summary_only
Only show a single line summarizing the total previous balance rather than one line per invoice.
balance_due_below_line
Place the balance due message below a line. Only meaningful when when invoice_sections is false.
invoice-unitprice
enables a quantity (qty) field for quick charges, but otherwise only changes the rendering with the addition of qty and unit price columns on invoices

Freeside:Configuration:previous balance-section

Other Rendering Variables

invoice_latextopmargin
Optional LaTeX invoice topmargin setting. Include units.
invoice_latexheadsep
Optional LaTeX invoice headsep setting. Include units.
invoice_latexaddresssep
Optional LaTeX invoice separation between invoice data and the 'to' address (usually invoice_latexreturnaddress). Include units.
invoice_latextextheight
Optional LaTeX invoice textheight setting. Include units.
invoice_latexextracouponspace
Optional LaTeX invoice textheight space to reserve for a tear off coupon. Include units.
invoice_latexcouponfootsep
Optional LaTeX invoice separation between tear off coupon and footer. Include units.
invoice_latexcouponamountenclosedsep
Optional LaTeX invoice separation between total due and amount enclosed line. Include units.
invoice_latexcoupontoaddresssep
Optional LaTeX invoice separation between invoice data and the 'to' address (usually invoice_latexreturnaddress). Include units.
invoice_latexverticalreturnaddress
Place the return address under the company logo rather than beside it.
invoice_latexcouponaddcompanytoaddress
Add the company name to the 'To' address on the remittance coupon because the return address does not contain it.
previous_balance-exclude_from_total
Do not include previous balance in the 'Total' line. Only meaningful when invoice_sections is false. Optionally provide text to override the 'Total New Charges' description.
company_name
Your company name.
company_address
Your company address.
finance_pkgclass
The default package class for late fee charges, used if the fee event does not specify a package class itself. Also used to determine which invoice_section is the finance section of the invoice.
cust_bill-max_same_services
Maximum number of the same service to list individually on invoices before condensing to a single line listing the number of services. Defaults to 5.
cust_bill-consolidate_services
Consolidate service display into fewer lines on invoices rather than one per service.

Miscellaneous Variables Impacting Customer Perception of Invoices

These variables do not change the invoice per se, but do change what is emailed to a customer as an invoice.

invoice_email_pdf
Send PDF invoice as an attachment to emailed invoices. By default, includes the plain text invoice as the email body, unless invoice_email_pdf_note is set.
invoice_email_pdf_note
If defined, this text will replace the default plain text invoice as the body of emailed PDF invoices.
voip-cust_email_csv_cdr
Enable the per-customer option for including CDR information as a CSV attachment on emailed invoices.