},
{
+ 'key' => 'credit-card-surcharge-percentage',
+ 'section' => 'billing',
+ 'description' => 'Add a credit card surcharge to invoices, as a % of the invoice total. WARNING: this is usually prohibited by merchant account / other agreements and/or law, but is currently lawful in AU and UK.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'discount-show-always',
'section' => 'billing',
'description' => 'Generate a line item on an invoice even when a package is discounted 100%',
},
{
+ 'key' => 'date_format_long',
+ 'section' => 'UI',
+ 'description' => 'Verbose format for displaying dates',
+ 'type' => 'select',
+ 'select_hash' => [
+ '%b %o, %Y' => 'Mon DDth, YYYY',
+ '%e %b %Y' => 'DD Mon YYYY',
+ ],
+ },
+
+ {
'key' => 'deletecustomers',
'section' => 'UI',
'description' => 'Enable customer deletions. Be very careful! Deleting a customer will remove all traces that the customer ever existed! It should probably only be used when auditing a legacy database. Normally, you cancel all of a customers\' packages if they cancel service.',
{
'key' => 'voip-cust_cdr_spools',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Enable the per-customer option for individual CDR spools.',
'type' => 'checkbox',
},
{
'key' => 'voip-cust_cdr_squelch',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Enable the per-customer option for not printing CDR on invoices.',
'type' => 'checkbox',
},
{
'key' => 'voip-cdr_email',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Include the call details on emailed invoices (and HTML invoices viewed in the backend), even if the customer is configured for not printing them on the invoices.',
'type' => 'checkbox',
},
{
'key' => 'voip-cust_email_csv_cdr',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Enable the per-customer option for including CDR information as a CSV attachment on emailed invoices.',
'type' => 'checkbox',
},
{
'key' => 'batchconfig-td_eft1464',
'section' => 'billing',
- 'description' => 'Configuration for TD Bank EFT1464 batching, five lines: 1. Originator ID, 2. Datacenter Code, 3. Short name, 4. Long name, 5. Returned payment branch number, 6. Returned payment account, 7. Transaction code.',
+ 'description' => 'Configuration for TD Bank EFT1464 batching, seven lines: 1. Originator ID, 2. Datacenter Code, 3. Short name, 4. Long name, 5. Returned payment branch number, 6. Returned payment account, 7. Transaction code.',
'type' => 'textarea',
},
'type' => 'select',
'select_hash' => [
'' => 'Numeric only',
+ '\d{7}' => 'Numeric only, exactly 7 digits',
'ww?d+' => 'Numeric with one or two letter prefix',
],
},
{
'key' => 'svc_phone-radius-default_password',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Default password when exporting svc_phone records to RADIUS',
'type' => 'text',
},
{
'key' => 'svc_phone-allow_alpha_phonenum',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Allow letters in phone numbers.',
'type' => 'checkbox',
},
{
'key' => 'svc_phone-domain',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Track an optional domain association with each phone service.',
'type' => 'checkbox',
},
{
'key' => 'svc_phone-phone_name-max_length',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Maximum length of the phone service "Name" field (svc_phone.phone_name). Sometimes useful to limit this (to 15?) when exporting as Caller ID data.',
'type' => 'text',
},
{
'key' => 'svc_phone-lnp',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Enables Number Portability features for svc_phone',
'type' => 'checkbox',
},
{
'key' => 'cdr-charged_party-field',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Set the charged_party field of CDRs to this field.',
'type' => 'select-sub',
'options_sub' => sub { my $fields = FS::cdr->table_info->{'fields'};
#probably deprecate in favor of cdr-charged_party-field above
{
'key' => 'cdr-charged_party-accountcode',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Set the charged_party field of CDRs to the accountcode.',
'type' => 'checkbox',
},
{
'key' => 'cdr-charged_party-accountcode-trim_leading_0s',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'When setting the charged_party field of CDRs to the accountcode, trim any leading zeros.',
'type' => 'checkbox',
},
{
'key' => 'cdr-charged_party_rewrite',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Do charged party rewriting in the freeside-cdrrewrited daemon; useful if CDRs are being dropped off directly in the database and require special charged_party processing such as cdr-charged_party-accountcode or cdr-charged_party-truncate*.',
'type' => 'checkbox',
},
{
'key' => 'cdr-asterisk_forward_rewrite',
- 'section' => '',
+ 'section' => 'telephony',
'description' => 'Enable special processing for CDRs representing forwarded calls: For CDRs that have a dcontext that starts with "Local/" but does not match dst, set charged_party to dst, parse a new dst from dstchannel, and set amaflags to "2" ("BILL"/"BILLING").',
'type' => 'checkbox',
},
{
'key' => 'opensips_gwlist',
- 'section' => 'opensips',
+ 'section' => 'telephony',
'description' => 'For svc_phone OpenSIPS dr_rules export, gwlist column value, per-agent',
'type' => 'text',
'per_agent' => 1,
{
'key' => 'opensips_description',
- 'section' => 'opensips',
+ 'section' => 'telephony',
'description' => 'For svc_phone OpenSIPS dr_rules export, description column value, per-agent',
'type' => 'text',
'per_agent' => 1,
{
'key' => 'opensips_route',
- 'section' => 'opensips',
+ 'section' => 'telephony',
'description' => 'For svc_phone OpenSIPS dr_rules export, routeid column value, per-agent',
'type' => 'text',
'per_agent' => 1,
'agentonly' => 1,
},
+ {
+ 'key' => 'cust_bill-no_recipients-error',
+ 'section' => 'invoicing',
+ 'description' => 'For customers with no invoice recipients, throw a job queue error rather than the default behavior of emailing the invoice to the invoice_from address.',
+ 'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'cust_main-status_module',
+ 'section' => 'UI',
+ 'description' => 'Which module to use for customer status display. The "Classic" module (the default) considers accounts with cancelled recurring packages but un-cancelled one-time charges Inactive. The "Recurring" module considers those customers Cancelled. Similarly for customers with suspended recurring packages but one-time charges.', #other differences?
+ 'type' => 'select',
+ 'select_enum' => [ 'Classic', 'Recurring' ],
+ },
+
{ key => "apacheroot", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachine", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },
{ key => "apachemachines", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" },