One of the first tasks is to set up your global configuration. The settings on this page affect your entire system - so if you are making use of the multi-company feature, these settings will affect all companies. To access the page, select 'Configuration­->Global Configuration' from the menu (see figure 3.1).

Figure 3.1 - Accessing the Global Configuration Page

This takes you to the global configuration settings, each of which is described below (items on the 'Basic' tab are described first, followed by those on the 'Advanced' tab).

Basic Tab

Disable E-Mail

If you set this to 'yes', it will stop nBill from sending any e-mails. It will not stop Joomla, Wordpress, or any other components or plugins from sending e-mails, only nBill. nBill will behave as though e-mails have been sent successfully, but will not actually send any. This could be useful if you want to do a test invoice run for example. While e-mailing is switched off, most pages will show a warning message to remind you that you need to switch it back on again before any e-mails can be sent.

Error e­mail

nBill has an error­ handling routine which logs any program errors that may occur in the database. The logs are kept for at least two weeks (any records older than  two weeks are deleted the next time an error is logged). If an error occurs, this might indicate a bug in nBill which needs to be addressed by Netshine Software. If this happens, an e­mail is sent to the e­mail address specified on the global configuration page.

Default to Electronic Delivery?

When selling electronic goods and services to customers within the EU (for example, e-Books, software, website hosting, etc.), it is a legal requirement to charge VAT at the rate prevailing in the customer's country (rather than your own country as the vendor). If most of your products fall under this rule, you can set this to 'yes' so that when you create new records they will automatically default to being marked as for electronic delivery. Even if your own business is not located within the EU, you are still expected to follow EU rules on VAT if you are selling to customers within the EU. If you do not sell to customers within the EU, or most/all of your products are physical products and your services are carried out outside the EU, you can leave this set to 'no'.

Date Format

The way dates are displayed throughout the system can be set here, using a format value, as defined by PHP (the programming language used to write nBill). Not all of the dates supported by PHP are supported by the calendar controls used by nBill, so it is safest to stick to numerical dates rather than use full month names.

 Technical Note: You can see a full explanation of the valid date format values on the PHP website (www.php.net/date), but here are some common date formats for your convenience (the 'Date Format Value' shown in bold is the bit you type into the Date Format field on the global configuration page):

Description Date Format Value Explanation Example
UK Date d/m/Y 2 ­digit day number, slash, 2­ digit month number, slash, 4 ­digit year number 01/12/2014
US Date m/d/Y 2­ digit month number, slash, 2­ digit day number, slash, 4­ digit year number 05/23/2007
International Standard Y-m-d 4­ digit year number, hyphen, 2 ­digit month number, hyphen, 2 ­digit day number 1999-07-18

Default Start Date For Lists

There are various places where lists of records are displayed (eg. the invoice list or the order list). You can choose here what sort of date range you want the system to display by default (you can change the date range using the calendar controls provided, but this setting governs what happens if you access a list without specifying a date range).

License Key

This is the license key you entered the first time you used the component. If your key is about to run out, and you want to enter a new one before that happens, you can do so here. Warning! Be very careful about changing this value - if you get it wrong, you will not be able to continue using the component until you enter the correct license key.

Switch to SSL on login?

If you have an SSL certificate, and you want to ensure that logged in users access your site over https instead of http, you can set this option to 'yes'. This will only affect login forms that are presented by the nBill component - it will not affect the normal Joomla login module.

Use SSL for ALL pages?

If this is set to 'yes', and an nBill page is accessed over http, it will automatically be redirected to the equivalent https address. You should only set this to 'yes' if you have an SSL certificate installed. It only affects nBill pages, not other Joomla or Wordpress pages.

Invoice Notifications

This is the default setting for notifying clients when an invoice has been generated for them, but it can be overridden for each contact at the client record level. When the value here in global configuration is updated, any client records which used the old value will also be updated.

The text that goes into the e­mail messages is stored in the language file. For example, if you are using the default English language file, the text is stored here:

administrator/components/com_nbill/language/en-GB/email.en-GB.php

Wherever you see a token like this: %s or %1$s - it means that some item of data will be inserted there (eg. the client name).  You should leave those tokens intact, otherwise you might find data being inserted in the wrong place. Do not change the NBILL_EM_etc part of the constant, only the constant value.

 For Example: One of the constants in the above file, looks like this:

define("NBILL_EM_NEW_INVOICE_PAR_1_ATTACHED", "The attached invoice has been generated for you.");

The bit marked in red is the only text you should edit. Do not use double quote characters ("), or if you have to use them, prefix them with a backslash (\"). Where you see a token such as \n, this means a new line will be inserted at that point.

  • If you set this to "Don't e­mail invoices", and this is not overridden on the client record, then clients will not receive any notification if an invoice is generated for them.
  • If you set it to "Send invoice as an attachment (plain text e­mail)", then your clients will receive a plain ­text e­mail with an HTML attachment containing the actual invoice.
  • If you set it to "Send invoice as a PDF attachment (plain text e­mail)", then your clients will receive a plain­text e­mail with a PDF attachment containing the actual invoice (assuming you have the PDF generation script installed).
  • If you set the value to "Embed invoice in an HTML email", the client will receive an HTML e­mail with the invoice embedded in the message. This looks nice, but is not the most practical solution because if the client wants to print it out, they also get the introductory and closing text of the e­mail message.
  • If you use the value "Send notification to client (plain text e­mail advising client to log into website)", a plain text e­mail will be sent to the client just telling them that an invoice has been generated, and that they can see it by logging into your website - the invoice itself is not sent to the client.
  • If you select "Send HTML email (no attachment)", the relevant email template will be used to notify the client that an invoice has been generated, and that they can see it by logging into your website - the invoice itself is not sent to the client.
  • "Send HTML email with HTML attachment" uses the relevant HTML email template, but also attaches the invoice to the email as an HTML document.
  • "Send HTML email with PDF attachemnt" uses the relevant HTML email template, but also attaches the invoice to the email as a PDF document.


 Tip: Please note that you can also manually send out e­mail notifications (and override the message with your own text) for individual invoices from the invoice list. This is also useful for sending out individual reminders of overdue invoices, as you can just overtype the message before you send it.

Document Title Colour

The default invoice, quote, and credit note templates that come with nBill will pick up the value from this setting when rendering the titles on the invoice, quote, or credit note (the document).

Document Heading Background Colour

This controls the background colour of the table heading rows on the default document templates.

Document Heading Foreground Colour

This controls the foreground colour of the table heading rows on the default document templates.

Advanced Tab

Timezone

Usually you can leave this blank and just use your server timezone, but if you want nBill to use a different timezone for some reason (for example, if you use a hosting server that is not in your own country), you can specify a different timezone here. Valid values for timezones are listed in the PHP documentation: www.php.net/timezones.

Locale

Again, you can usually leave this blank and use whatever locale is set up on your server, but if you want to use a different locale setting, you can enter one here. This controls the default behaviour for formatting numbers and currency amounts (for example the thousands and decimal separators), although these can also be overridden individually using the other settings described below. The value to enter for the locale setting depends on which locales are installed on your server, and how they are named (for example, Windows uses different locale names than Linux). You can use a comma-separated list of values, in which case the first one that matches a locale name on your server will be used - for example, de_DE.UTF-8, de_DE.UTF-8@euro, de_DE@euro, de_DE, de, ge, deu_deu, deu, deutsch, german, German_Germany, German_Germany.1252

Decimal Precision

This allows you to control how many decimal places are used for general numeric values. The default is 2.

Quantity Precision

This allows you to control how many decimal places are used for quantities. The default is 2 (allowing for items to be ordered in multiples of 0.25 for example). If your products can only be ordered in discrete units (ie. you cannot order half of an item), you can change this to 0 (zero).

Tax Rate Precision

Decimal places for tax rates. Defaults to 2.

Currency Precision

Decimal places for general currency values. Defaults to 2. The value can optionally be overridden on each currency record.

Currency Line Total Precision

Decimal places for currency values that constitute a line total on an invoice. If you need finer precision that 2 decimal places for certain products, you might want to set the currency precision to a higher value, maybe 3 or 4, and have the line total rounded to 2. Or if you prefer, you can have the line totals also at the higher value and just show the grand total at 2 decimal places (or whatever is customary for your currency - for example, Japanese Yen uses 0 (zero) decimal places). The value can optionally be overridden on each currency record.

Currency Grand Total Precision

The number of decimal places to use for grand totals on an invoice. This would normally be 2, but should be whatever is customary for the currency you are using. The value can optionally be overridden on each currency record.

Thousands Separator

If you want to use a different thousands separator to the one that comes with the locale your server is running on, you can specify a custom separator here. The value 'default' (without quotes) will use whatever is the default thousands separator for the locale in use. This value can optionally be overridden on each currency record.

Decimal Separator

If you want to use a different decimal separator to the one that comes with the locale your server is running on, you can specify a custom separator here. The value 'default' (without quotes) will use whatever is the default decimal separator for the locale in use. This value can optionally be overridden on each currency record.

Currency Format String

If the above settings still don't give you enough control over how currency amounts are formatted, you can specify a custom format string here (advanced users only!). Please refer to the help text for the setting (by clicking on the life-belt icon) for more information.

Default User Group

Specify the default Joomla user group or Wordpress role to use for new user registrations when a user signs up via an nBill order form, or is created by an administrator using an nBill contact record. You can specify more than one group by holding down Ctrl and clicking the groups you want.

List Users on Client Detail Page

Typically, you would want to leave this set to 'yes', as this allows you to select a user record with which to associate a client. However, if your site has thousands of user records, this can cause the system to slow down when you edit or create a client, and the user list will be too long to be of much use anyway. In that case, set this option to 'no', and a text box will be displayed instead of a user list.

 Tip: You can still associate your clients with existing users when this option is set to 'no' - just enter the user ID in the text box on the client details page. You can find a user's ID number by going to Joomla's User Management page (go to Users->User Manager on the Joomla menu, locate the user record you want, and note the ID number on the far ­right column of the user list), or in Wordpress, go to the Users link on the main menu, click on the user, and note the user_id value specified in the browser address bar.

CRON Authorisation Token

CRON is the name of a scheduling system which is widely used in Unix­ based web servers. It allows you to schedule tasks to be performed at regular intervals without any human intervention. CRON is not part of nBill. However, you can use CRON to schedule tasks within nBill - for example, to generate your invoices each day (this would save you from having to remember to log into nBill every day and generate the invoices yourself).

There is a separate help topic that shows you how to set up a CRON job, but this field on the global configuration page is a security feature to help ensure that only authentic requests are processed. Any request for processing would have to quote an authentication token to prove that it is a genuine request - and you set the value for that token here. You can think of it as being like a password that any automatic scripts have to supply before they are allowed to run.

The token value can be anything you like, but should not contain punctuation characters (just numbers and lower-case letters). The value you enter here is stored in the database in an encrypted form. Do not disclose the token value to anyone else - just set it here, and quote it in any scripts that are processed via an automated scheduler such as CRON (note: you do not use the token when setting up the CRON job itself, but you do have to edit the script file that you run using CRON, and quote the token in the appropriate place).

Default Menu Itemid (Joomla! only)

Joomla! controls which modules to display depending on the ID number of the menu item that was used to access a page. That ID number is known as the 'Itemid'. nBill will preserve whichever Itemid was used to access a page, so if all your links to nBill pages (in your website front-end) quote the same Itemid, that Itemid will be used throughout nBill. If you want to ensure that a particular Itemid is used in the links output by nBill even if no Itemid was specified in the entry link to an nBill page, you can specify the default Itemid number to use here (so that you can control which modules appear on nBill pages).

Redirect to Itemid? (Joomla! only)

You can set this to 'yes' if you want to always redirect to the Itemid specified above (if this option is set to 'no', but a default Itemid is specified above, and a user enters an nBill page in the front-end via a link which does not specify an Itemid, the page will not be redirected, but any links output by nBill on that page will include the default Itemid).

Check for new versions?

Indicate whether or not the component should automatically check whether an upgrade is available each time you access the home page. If it takes a long time to display the component home page, you might have to set this to 'no', and just check for updates using the button provided (see below) from time to time (note, you can also disable version checking by using the following URL to access nBill after logging in to Joomla: www.domain.com/administrator/index.php?option=com_nbill&disable_version_check=1 - where domain.com is your actual domain).

Check for Updates

If you have automatic version checking switched off, you can still check for new versions by clicking the 'Check Now' button.

Check for EU VAT rate changes?

By default, once a day, when you access the main dashboard, nBill will check to see whether there have been any changes to any EU VAT rates, and update the VAT records for electronic delivery (it will NOT make any amendments to any other VAT rates that you have added yourself, only the electronic delivery ones). If you don't want to run this check (eg. if you do not sell electronic products in the EU, or you are using nBill on a test site which is not connected to the internet), you can turn this off here.

EU VAT Rates API URL

The URL to use for looking up the latest EU VAT rates. You should not change this value unless a support technician tells you to.

Geo-IP Lookup?

Whether or not to attempt to locate a customer's country based on their IP address when they make a purchase using an nBill order form. EU VAT rules require that some evidence be collected to verify the country a customer is based in when selling electronically delivered goods. This option allows the IP address of the customer to be used for that purpose, but it does require a lookup to a third party website every time somebody places an order.

Geo-IP API URL

The URL to use for looking up the customer's country based on their IP address (only applicable if Geo-IP Lookup is switched on).

Geo-IP Fail on Mis-match?

Whether or not to allow an order to proceed if the country of the user's IP address does not match the billing country they have specified (a mis-match could indicate a fraudulent attempt to secure a lower VAT rate).

Database Functions

The 3 buttons at the end of the global configuration page are for clearing down or deleting the nBill database tables. USE THIS FEATURE WITH EXTREME CAUTION! Clicking on any of these buttons will permanently delete all of your data!

The first button: 'Clear Down Tables', sets your system back to the factory defaults - as though you had just installed nBill. This is useful if you have been playing around with the system, trying things out, and you want to start again with a clean slate. Note: If you click this button, you will have to enter your license key again!

The second button: 'Delete Tables' should only be used if you want to completely uninstall nBill. Using Joomla or Wordpress's uninstaller just removes the files but does not delete the database tables (this is to allow you to upgrade or re-install nBill without losing any data). So if you want to completely remove nBill, first click on the 'Delete Tables' button, then uninstall. See the separate Uninstalling topic.

The third button: 'Migrate from v1.2.x' copies any data from your nBill 1 tables and converts it into the format required for version 2. Only use this if you are upgrading from nBill v1. Any data already in the current nBill tables is deleted.

Edit Products Within Documents?

Whether or not to allow for products to be edited in-situ on an invoice or quote. If this is set to 'yes', and an amendment is made to an invoice line item with a SKU (Stock Keeping Unit) relating to an existing product, or a new SKU is entered, you will be prompted to save the changes to the product record (or create a new product record) when saving the invoice. This prompt can be annoying if you don't like to modify your products in-situ on an invoice, so it is turned off by default.