How do I use Code Maintenance to Control the Behaviour of the System?

Reviewing the various Codes used throughout the system.

Written By Gerry Mckeown ()

Updated at November 15th, 2018

1.     Introduction:

When a new Company is created it is accompanied by a standard set of Analytical Codes for use throughout the system. Before going on to set up your Master Records for Customers, Suppliers (Vendor's), Product/Inventory and so on, you need to review these Codes, update and change them as necessary, in order to reflect your specific requirements for this company. Most of the Codes are optional, but if you want to gain maximum reporting and analysis benefit from the system, you should allocate them to all your Customers, Suppliers (Vendors) and Inventory master records using the Drop Downs provided. These Codes are listed here;

2.    Customer and Supplier (Vendor) Codes:

The first set of Codes relates to those which you might use to categorize your Customers and Suppliers (Vendors)  for reporting and analysis purposes. Most of the maintenance programs relating to these Codes are very similar in operation. As a result, after dealing with the topic of “Areas”, further maintenance programs will only be described when they differ from the standard operation detailed hereunder in regard to Areas.

2.1     Area Codes are used on both Customer and Supplier (Vendor) records to classify them according to their primary location. They can be used, for example, to produce Sales Analysis by Area. To add a new Area Code and Description, click on “Add New Area” on the screen shown above. This will bring up the following window;

You can then go on to modify the entries in your Area list by clicking on the Edit Button beside each;

2.2     Credit Terms Codes, which are used on both Customer and Supplier (Vendor) records, has a number of additional parameters;

The first of these specifies the number of days Credit Days which a particular Supplier (Vendor) allows before payment becomes overdue, or in the case of Customers, the number of Credit Days you are extending to different customers before the Invoice becomes overdue. The second indicates that the count of Credit Days begins immediately after the Invoice Date or, alternatively, commences on the first day of the next calendar month after the month in which the Invoice was dated.

2.3     Customer Groups allow you to categorize your Customers for Sales Analysis Reporting like this, for example;

2.4   Customer Referrals allow you to record, for marketing purposes, the source by which you acquired this customer. Some examples are shown in the screen below. However, if you have no use for this particular code, then you can use it for an entirely different purpose if you wish.

2.5     Delivery Routes will be used on each Customer’s master record in the “Delivery Routes” field and indicate that the appropriate delivery route for that Customer.

2.6     Payment Methods inform the Supplier (Vendor) Payment run as to how this Supplier (Vendor) should be paid. Use this option to set up Payment Methods that will be used for the payment of invoices – for example cheques, credit cards, debit cards, online payments, electronic funds transfer (EFT), etc. A Payment Method is mandatory during Customer and Supplier (Vendor) set-up and during transaction entry.

2.7    Price Categories Each Product/Inventory Master record can accommodate up to eight different Sale Prices. These are the Descriptions (nos. 1 to 8) you may wish to allocate to each of the price categories. The Prices themselves will be on each individual Product/Inventory Master record.

Associating Price Categories to Customers

To associate the price categories to customers, select your customer, go to the Finance Settings tab and select the price category field as below.

These price categories are also associated with items. If you click on an item and go to the pricing tab you will see the price categories here. You can set the prices here for the item

The price category maintenance screen gives you the option to rename the price categories you want.

2.8     Priority Codes allow you to assign priorities to your important Customers and Suppliers (Vendors) for fulfilment of Orders, Shipments, etc.

2.9     Regions allow you to classify Customers according to Regions as well as Areas;

2.10     Requesters also known as “Requisitioners” are used in the Purchasing System to nominate persons (and their email addresses) within the organization who can place Orders for Goods (to be subsequently approved) and who receive such goods when delivered;

2.11     Ship Via is used on both the Customer’s and Supplier’s (Vendors) master records to indicate a preferred transport method and supplier (Vendor).

2.12     Supplier (Vendor) Group codes are used on the Supplier (Vendor) Master record to classify Suppliers (Vendors) into various groups as defined in this table.

You can associate the Supplier (Vendor) group you create to a supplier (Vendor) in the Supplier (vendor) Account, Account Settings tab > Account Group field. 

3.    Product/Inventory Codes:

The next group of Codes “Items” relates to the Inventory Management aspect of the system. An “Item” is a Product or Service in this system. Products and Services can be either “Stock” (which will use the full features of the Inventory Management system) or “Non-Stock” (which will only use the Pricing and Costing parts of the Inventory Management system). Each Product or Service is identified by an Item Code which can be alpha-numeric, upper and Lower case or just a number.

3.1.     Item Groups are used to classify Items into major categories which can subsequently be used to produce Sales Analyses by Product Group and also drive Sales Reps.’ Commission Calculations.

3.2.   Item Locations These designate the main areas (physical locations) where Items are stored;

If the “On Hand” tick box here is left unchecked, then running Stock Balances will not be maintained for Items stored in this particular location.

3.3.    Item Sub-Groups: The main Item Groups can be sub-divided into sub-groups for Analysis purposes, as in this example where the Item Group “COM” is broken down into individual sub-groups.

The Item Code itself will identify the Product in full – such as “Microsoft 4 Surface Laptop, 17”, 360Gigabytes, Black.

3.4.  Item Sub-Locations are specific locations or areas in your warehouses and storage locations when items are to be physically found for subsequent picking and despatch (or for receipting);

4.    General Ledger Codes:

Your Company comes with a pre-packaged comprehensive standard set of General Ledger Codes which most users find more than adequately meets the need of their business. However, you have the option to choose your own GL coding system, or, should you choose the Default Coding System, you have the option to add to, or remove from, the Standard Codes provided, and indeed change their Descriptions to meet your own exact requirements. It is strongly recommended that you review these Codes in order to remove unnecessary inapplicable Codes and to add other General Ledger Codes which your particular business might require. Removal of unnecessary codes will make the system much easier to operate as it reduces clutter. Remember, you can always add Codes back, very easily later on. It’s highly recommended that you review the How do I Setup and Maintain General Ledger Accounts” article and use it in conjunction with this article.

There is a hierarchy in the General Ledger Code structure. At the top we have General Ledger Categories and at the next level, there are General Ledger Sub-Categories. Every basic General Ledger Code has a General Ledger Sub-Category and a General Ledger Category attached to it and remembered by the system. Consequently, when using General Ledger Codes throughout the system there is no need to also quote the General Ledger Category and General Ledger Sub-Category. You can change the Category and/or Sub-Category that a General Ledger Code belongs to at any time.

The structure of the General Ledger Coding system has a significant bearing on the layout and completeness of your Income and Expenditure Statements, Trial Balance, Balance Sheet and other financial reports. Every General Ledger Code (without exception) is attached to a higher level “General Ledger Sub-Category” which in turn is attached to an even higher level “General Ledger Category”. The General Ledger Categories are the major headings in your reports such as “Income”, “Revenue”, “Direct Costs”, “Overhead Costs”, “Expenses” and so on. The GL-Sub Categories, as you would expect, are the sub-headings within the Categories such as “Home Sales”, “Exports”, “Spares”, etc. (within the “Income” Category) and, for example, “Rent & Rates”, “Computer Costs”, Finance Costs” under “Overhead Costs”. The General Ledger Codes then, are the lowest level of reporting line (although you can also drill down to the transaction level detail from the General Ledger Codes). You can view this entire structure in the Report entitled “Chart of Accounts Layout”.

4.1.  General Ledger CategoriesYou are supplied with 11 pre-existing General Ledger Categories, numbered 1 to 11 as Alphabetic Codes, which you cannot change or delete. You can, however, edit them and change their meaning. And you can add to them if you wish, as in this example below;

When adding a new General Ledger Category you must also add a Category Type which determines whether General Ledger Codes belonging to this General Ledger Category appear in Revenue or Assets reports.

When you Edit a General Ledger Category you can change the General Ledger Category Description and its associated Category Type. You can also determine its place in the Chart of Accounts by allocating a “Sort Order Code”. The General Ledger Categories will appear in ascending numerical order in the Chart of Accounts starting with the number 1. If you decide to change a General Ledger Category’s position by changing its Sort Order Code or you add a new General Ledger Category with a new Sort Order Code then, on “Save”, by ticking the box “Re-Sort sort order”, the sequence will be re-ordered. In the example below, “Operating Income” will be the first line of your Profit & Loss Reports followed by “Cost of Sales” and “Direct Costs”.

4.2.   GL Sub-Categories: As with General Ledger Categories the system comes equipped with a standard set of General Ledger Sub-Categories which you can Add to or Modify as you wish. Each also has a Profit & Loss Sort Order Code – but in this instance – these Codes determine the sequence of their appearance within a General Ledger Category. Maintenance is similar to that of General Ledger Categories with the ability to re-sequence the Report or Chart of Accounts using the Sort Order Codes. The “Non-Cash Item”, if ticked will cause all General Ledger Codes with that particular General Ledger Sub-Category as a parent to be excluded from Cash Forecasting.

 There is a more detailed explanation of the role of General Ledger Categories, General Ledger Sub-Categories and General Ledger Codes in the preparation of Financial Reports in the Article entitled; How do I Modify or Re-design the Layout of the P & L Reports”.

4.3.     General Ledger Groups: General Ledger Groups are used when setting up new General Ledger Codes to collect together groups of General Ledger Codes. They do not feature in the hierarchy of the General Ledger Coding Structure. They are optional, but serve as a way of enquiring and reporting on General Ledger Codes which fall into various collections of Revenue, Cost Accounts or Balance Sheet Accounts. For example, as regard P & L accounts you can group all Income into Recurring Revenue or Non-recurring Revenue. Costs into Insurance costs, Legal Costs, Facility Costs, etc.  In terms of Balance Sheet Accounts you can Group and Display Accounts such as Prepayments, Deferred Revenue Accounts, Revenue Accruals, Cost Accruals, Banks, Tax, and so on. You can use these to refine Enquiries and Reports as in the example below;

Maintenance of General Ledger Groups is the same as that for Areas, Regions, and so on;

4.4.   System Accounts: These are a set of General Ledger Accounts set aside solely for use by the system and whose identity is known to the various processes which use these accounts. For example, the Debtors & Creditors Control Accounts, Purchases and Sales Tax Accounts, Currency Gains & Losses, and so on. The system identifies them by their “Account Type” below, which you cannot change.

However, you can change the General Ledger Code to which these Account Types are pointing and use for Posting purposes. For example, you may be using a completely different Chart of Accounts from the default one provided with this system and therefore will want to use your own Codes here to identify these System Accounts.

There are some limited facilities for adding new Control Accounts. For example, you may wish to segregate your Debtors and/or Creditors into groups with different Control Accounts (which you will record on the Customer’s and Supplier’s (Vendor's) Master records.

An example of a system account is Trade Debtors Control, Trade Creditors Control, Retained Earnings and the Tax Sales and Purchases Control accounts.

System accounts are created as part of the company set up and are populated with the relevant General Ledger code from the Chart of Accounts listing.  

Control accounts such as Trade Debtors & Creditors Control, Retained Earnings, and the Tax Control accounts cannot be changed after being nominated.

System accounts are other required accounts like Accruals, Prepayments, Bank Charges, Sales and Purchase Discount that must have a General Ledger account setup and nominated against them.

The following fields are available on the System Account edit page:

Note: These System Accounts should be nominated at setup and should not be changed at a later point. It is recommended to set up the following and then nominate these to the different Account types. 

Trade Debtors Control (Control)

Trade Creditors Control (Control)

2 Stock (item) accounts - 1 for Balance Sheet & 1 for P&L

2 Foreign Currency Gain & Loss accounts

Discounts Allowed

Discounts Received



Bank Charges

Minority Interests

Tax Liability

Sales Tax (Control)

Purchase Tax (Control)

Retained Earnings (Control)

Note: If you are importing your Chart of Accounts you will be able to nominate the system accounts from the System Accounts screen in the Data Importer.

5.    Currency Codes:

The system facilitates multi-currency operation with as many currencies as you require against a single Base Currency (i.e. the “Home” Currency in which you operate your General Ledger, Tax Reports, etc.). Currencies and their Rates of Exchange are set up and maintained in this Table; Only one Currency can be nominated as the Base Currency and the Rates of Exchange are expressed as 1 Unit of Base Currency = X Units of Foreign Currency. In periods of high Exchange Rate Volatility, Currency Rates should be revised and updated frequently in order to yield the most accurate reflection of your Trading and Balance Sheet.

Please see this How To article which goes through the Multi-Currency features of the system in detail - How do the Multi-Currency features of the system work?

You can add new Currencies by clicking on the button “Add New Currency”. From the Code field you can select any Currency required. The Drop Down here contains all the Currencies listed under ISO 4217 along with standardised Mnemonics (e.g. "GBP" instead of "STG"), Description, Symbols and  Units. Most of these fields will be auto-filled except for the Exchange Rate, which you can enter manually or update from "TransferMate" (see below).  Click on the "Base" tick box shown in the window below to nominate one of the Currencies, and only one, as the Base Currency.

Or you can amend an existing Currency’s details by clicking on the “Edit” field next to its entry in the table;

Update the field(s) required and click "Save".

You can either maintain Exchange Rates Manually or you can use the "TransferMate" facility;

You can either update Exchange Rates individually (where some Exchange Rates may be fixed because of Forward Contracts) or you can use the button at the bottom right hand corner of the window to update all the Exchange Rates from TransferMate.  The system, at the close of each day, contacts the TransferMate system to extract and upload a great number of Exchange Rates which are then available to you to update your subset of Currencies.

You can also access the History of Exchange Rate Updates from here;

6.    Tax Codes:

The System facilitates the capture of VAT (Tax) related data throughout, together with the production of all the required statutory reporting, and supporting information, in regard to current VAT (Tax) legislation. Included are facilities for the recording and reporting of VAT (Tax) on both the “Invoice” basis and the “Cash” basis according to the rules in force at the time.

Again, you will find that a pre-set standard table of Tax Codes, Tax Rates, and associated Rules will have already been provided with your new Company. It is advisable to review these in detail – as the ultimate responsibility for the accuracy of your VAT (Tax) Returns lies with you – the user.

Default Tax Codes are allocated to Inventory Products, Customers, and Suppliers (Vendors) – but the proper Tax Code is contained on the transaction line (i.e. Sales Invoice line, Purchase Invoice line, etc.) and these default Tax Codes and Rates can be over-ridden during transaction entry.

When you add a new Tax Code or Edit an existing one, the following window is presented;

Here you can set up and maintain your VAT (Tax) Codes and their associated % Tax Rates to be applied to your Sales transactions or which have been applied to your Purchase transactions – along with a Description of the Tax Rate. The “ECP” and “ECS” check boxes are used to identify (for your Tax Return) the EU Purchases and EU Sales transactions as opposed to local transactions. The “Standard” check box indicates whether or not this is the Standard Rate or one of the lower Rates – while the “Withholding” check box triggers a different treatment of the transaction (For full and complete information on the workings of the VAT (Tax) system please refer to the detailed Article entitled “How does the System Facilitate VAT Management (UK & Ireland)?”).

Tax Code - This is the unique code for each Tax (Vat) rate you set up. 

Description - Insert a brief description here.

Rate - Insert the rate to be used for this tax code.

Withholding - Click the withholding flag if you wish to treat this tax code as a withholding rate to be used during purchases.

Withholding GL account - Choose the GL account that the Withholding Tax should be posted to.

Standard Tax rate - Click the standard flag if you wish to treat this tax code as the standard rate to be used in Cash Receipts based tax reporting.

Exclude - Tick the box should the VAT Rate be excluded from appearing in the VAT Return.

EU Trade - Click the EU Trade flag if you wish to treat this tax code as EU trade for reporting purposes.  

Partial Reclaimable and Partial Reclaim Rate (%) - Refer to the Article How do I Partially Recover my Input Tax? for details.  

Goods / Services - Select 'Goods' option if you need the Tax code to be associated with selling/ purchasing goods. This will be reflected in your VAT return reporting, i.e. Boxes E1 and E2.    

Select 'Services' option if you need the Tax code to be associated with selling/ purchasing services. This will be reflected in your VAT return reporting, i.e. Boxes ES1 and ES2.

The associated VAT (Tax)  General Ledger Control Account Codes are nominated in the “System Accounts”. Go to > Setup > Codes Maintenance > General > System Accounts. Most likely you will find it already populated with the appropriate Sales and Purchase VAT (Tax) General Ledger Control Account Codes (as part of the Company Template which was used to set up your Company in the first place, along with the standard template set of General Ledger Codes and Accounts). However, if you wish to change these General Ledger Accounts, you may do so here – in conjunction with the equivalent new Accounts you have set up in the General Ledger Master Table;

Tax Codes Bulk Update

This tool enables you to automatically update the default tax code assigned to all of your customer, supplier and item records. This eliminates the need to update them one by one.

You can accomplish this in two easy steps:

Create a new Tax Code from Setup > Codes Maintenance > Taxes > Add New Tax;

Then add a new tax code which should have the new tax rate assigned to it.

Next, open the Tax Codes Bulk Update Tool by clicking the button at the bottom of the Tax Codes list.

Then use the drop-down fields below to select the existing default rate that’s used and then the new rate you have just created.

Click Process and this will update all your customers, suppliers (vendors) and items from the old rate to the new rate.

Note: Any quotes and orders created for accounts using the selected old code will from now use the new tax code. Any future dated transactions that you may have created will not have the new tax code and will need to be amended if necessary. Also please note that recurring transactions created before this date will use the old tax code and should be properly amended using the recurring transactions screen.