You derive the income in your business from your customers. The Accounts Receivable module lets you manage your customers, and is therefore a vital part of your enterprise.

Accounts Receivable Overview

You derive the income in your business from your customers. The Accounts Receivable module lets you manage your customers, and is therefore a vital part of your enterprise.

Ageing Periods

You design the terms and ageing periods that you use in the company. These could be monthly, weekly, and so on. Ageing periods determine:

Customer Payment Terms

You specify for each customer the number of ageing periods within which the customer should pay you. If a customer is overdue in this respect, you can charge the customer interest and/or warn agents when they invoice the customer.

Age Analysis

The system uses these terms to calculate aged balances for customers. The balances display on the customer statement and on the age analysis report.

When you enter a customer transaction, the system allocates it to a financial period according to the financial calendar you set up in the general ledger module.

The transaction will never move from that financial period. However, the ageing period into which the transaction fits adjusts continuously. The system never stores aged balances. Instead, it calculates aged balances dynamically when they are required. The ageing calculations are relative to the transaction's date, the ageing method, and the computer system date.

There are two ageing methods:

Date of Invoice - The system calculates the age of the invoice relative to the invoice date.

Date of Statement - The system calculates the age of the invoice relative to the date on which you print the statement.

For example, you create an invoice on 15 March:

If you age by date of invoice, the invoice is current until 15 April. From 16 April, for the next 30 days, the invoice is in the 30-day ageing period, and so on.

If you age by date of statement, and you produce a statement on 25 March, the invoice is current until 25 April. From 26 April, for the next 30 days, the invoice is in the 30-day ageing period, and so on.

In both these examples, the system uses the computer date to work out how old the transaction is. If, for example, the computer date were June 4, the invoice would be in 60 days whichever method you use.

Accounts Receivable Transaction Types

Transaction types are critical elements of your processing. You enter all transactions via transaction types. In addition, all transactions the system generates, such as interest or discount transactions, require a transaction type.

The transaction type determines the transaction's sign (whether it is a debit or credit), whether it contains tax, and so on.

All accounts receivable transactions reflect in the general ledger. Each accounts receivable transaction you enter therefore requires a debit and a credit general ledger transaction. In the transaction type, you enter the general ledger accounts for these transactions. This means that the general ledger transactions occur in the background, with no input required by agents who enter the accounts receivable transaction.

Storing this information in the transaction type makes actual transaction processing a trivial data entry process. Very little knowledge or experience is required in order to enter the transactions, because the transaction type setup determines what fields agents need to enter.

However, you can override this and allow agents to enter a general ledger account, and even to split the transaction over many general ledger accounts.

You can link one transaction type to another. This is required, for example, in discount processing. When you process a receipt from a customer and you give the customer a discount, the system produces two transactions, one for the customer receipt, and one for the discount. The linked transaction type lets you enter both transactions at once, and handles all general ledger and tax processing automatically.

Transaction types also let you group similar transactions together. This is useful for reporting, because you can view similar transactions together. For example, you can create one or more transaction types for exceptional circumstances such as writing off bad debts. If you do this, you can easily extract these transactions and review them.

You should spend some time deciding on how many transaction types you need. If you create too few types, then transaction enquiries will contain so many transactions the process becomes very tedious. If you create too many types, transaction enquiries will yield too few transactions to be meaningful.

The system ships with many standard transaction types set up. You should use these transaction types unless you require specialised reporting or processing.

Settlement Discounts

You can define settlement terms. These let you specify a settlement, or early payment discount, based on payment for an invoice within a time limit you define.

You define the time limit as a number of days relative to either the invoice date or the next statement date.

You can create a default message that appears on the invoice, so that the customer clearly understands the terms of the discount.

When you process a payment from the customer, you can link to a list of invoices with discounts you offered the customer, that fall within the payment date. When you select an invoice, the system enters the discount automatically.

Accounts Receivable Groups

Accounts receivable groups let you group customers for better reporting purposes. For example, you could use groups to differentiate retail customers from wholesale customers, or dealers from end users, and so on.

If you wish to differentiate these groups in the general ledger, you have the option of specifying an accounts receivable general ledger account per account group.

You can use the group code to sort and filter customer records in various places in the system. For example, you can use the group to create sophisticated date-driven volume discounts or prices that apply to that group as a whole.

Just about every accounts receivable report allows you to range on groups. If you create groups that accurately reflect the way you categorise your customers, the group structure will make it easier for you to manage your customer database.

Sales Representatives

You can control commissions for sales staff by means of sales codes. You can also use this code for other groupings.

You can specify up to five bands, or levels, of amounts and commissions.

You can use different bases for commission calculations:

You can use the method set up on each sales representative code (turnover or profit)

When you run the commission report, you can specify one of these methods to use for all sales representatives irrespective of their settings

You can in addition calculate commission on paid items only

The system calculates the commission by using each percentage on an incremental basis. For example, the commission structure is set up as:

Sales Value

Percentage Commission





The sales value is 25000. The system calculates the commission as follows:

The commission starts at 10000. Therefore, commission is due on 15000 of the 25000 sales value – the first 10000 does not accrue commission.

The first 10000 of the 15000 that is subject to commission earns 10% commission, in other words 1000.

The remaining 5000 of the 15000 that is subject to commission earns 15% commission, in other words 750.

The total commission is therefore 1000 + 750 = 1750.

You can specify for each inventory item whether it is subject to commission. You can also specify a sales code per sales order/invoice as a whole, or per invoice line.

The use of sales representatives is optional.


You create area codes that you attach to customer records. You can then use the area code to sort or filter various reports. Besides using these codes for geographic areas, you can of course use the code for any other type of grouping.

The use of areas is optional.


The people database lets you keep track of key people in your customer's company.

Sometimes you deal with one person only in each company. Other times, you may deal with many people in the same company. You can create a record for each person you have contact with, and you link that person to his or her company. You can also link a person to more than one company. For example, you may have a consultant who provides support and training for your products to many of your customers.

The use of people is optional.


The customer master file is the heart of the Accounts Receivable module. All processing revolves around customers.

The customer record contains links to most of the elements we have looked at so far. In this section, we cover a few other key fields on the customer master file.

Open Item and Balance Brought Forward Processing

You process sales transactions for customers, and they pay you. You have to match all debits and credits for each account. These are usually invoices and receipts. There are two ways to do this:

Open Item

With this method, you allocate customer credits to debits yourself.

Balance Forward

With this method, the system can allocate credits to debits automatically, by matching the oldest debits to the oldest credits.

The disadvantage of open item is that it is extra work. You have to allocate each invoice to a receipt. So, what do you get for the extra work?

If you have a customer who queries many invoices, you maintain a record of queried transactions by not allocating receipts to them. Transactions continue to display on the customer's statement until you match them.

Your age analysis is accurate. If, for example, a customer queries an invoice with you, and the query takes a few months to process, the invoice amount will appear as an older, unpaid amount.

Note that the distinction between open item and balance forward is not hard and fast. On balance forward accounts, although you usually allocate from oldest, you can allocate individual transactions. On open item accounts, although you usually allocate manually, you can match debits and credits automatically from oldest.

Pricing Structure

The system has powerful features that let you control selling prices:

You can create three separate selling prices for each inventory item. On the customer side, you link a customer to one of these prices. If you use the Multi-Currency Add-on module, you can create price lists in other currencies.

You can enter an automatic discount percentage on the customer record. This discount will apply to sales invoices as a whole. The automatic discount defaults on each invoice and you can edit or delete it.

If you need more flexibility and control of prices, at a group or even a customer level, you can purchase the Pricing Matrix add-on module, which gives you the following capabilities:

You can create volume discount contracts. These pricing structures exist for groups or individual customers and inventory items:

You create a contract per customer or per accounts receivable group.

Within each contract, you can create an unlimited number of contract lines. Each line can be for an inventory item or for an inventory group.

A contract line has an effective date and an expiry date.

A contract line can have multiple lines representing item quantities. For each quantity, you can enter either a selling price or a percentage discount on the customer's selling price. Either way, the system adjusts the selling price on the invoice line, not the percentage discount.

You can create a discount matrix, which works as follows:

You create a two dimensional matrix, with rows representing customers and columns representing inventory items. The cells of the matrix contain discount percentages.

You assign a row of the matrix to a customer or a customer group, and a column of the matrix to an inventory item or an inventory group.

When you process a sale of an inventory item to a customer, the system puts the customer's row and the inventory item's column together and derives the discount percentage to apply to the invoice line.

Note  These discounts can all apply at once. If more than one discount applies, the system adds them together on invoice lines.

Multiple Delivery Addresses

You can create an unlimited number of delivery addresses for each customer account. You set which delivery address is the default. When you invoice a customer, the system defaults to the default delivery address, but you can choose another one.

The advantage of using multiple delivery addresses is that you can invoice a single customer and produce a single statement for that customer, even if they have different locations such as branches.

The disadvantage of using multiple delivery addresses is that you cannot analyse branch sales, or perform branch enquiries. We would therefore recommend using multiple delivery addresses for relatively low volume customers.

For high volume customers, you should consider using the Linked Accounts add-on module, which we look at next.

Multi-Currency Add-on Module

If you use the Multi-Currency add-on module, you can create foreign customers. You can process the customer's transactions in their currency. The system tracks foreign and home currency values for every transaction, and calculates any foreign exchange profit or loss when the customer pays you.

Putting an Account on Hold

You may have a customer who falls behind with payments, or you may have other issues with a customer. In this situation, you can put a customer on hold. This prevents agents from invoicing the customer, although you can still process credit transactions for them.

You can also use this facility should a customer cease to do business with you. You cannot delete the customer for some time, as they have transactions. By putting the customer on hold, you prevent agents from invoicing them in error.

Accounts Receivable Processing

In the Accounts Receivable module, you can process many types of customer transactions. However, you do not process inventory-based transactions such as invoices and credit notes in this module. Instead, you use the Inventory Control or the Order Entry module. For a discussion about sales order, invoice, and credit note processing, click here.

In this section, we look at the following topics:

Standard accounts receivable transactions

Accounts receivable batches

Allocating transactions

Charging Interest on overdue amounts


Accounts Receivable Batches

If you have many transactions to enter, for either one customer or many customers, you can enter the transactions in batch mode. Unlike the Standard Transactions function, which updates the transaction as you complete it, in batch mode you can quickly enter many lines at once. You can save the lines without posting them, and then come back to them later.

You can create as many separate batches as you require, so that operators can work in their own batches.

As with the Standard Transactions function, you specify a transaction type for each line you enter, and this determines what functionality is available. For example, if you select the payment transaction type, you can enter settlement discount information.

If you have transactions that recur regularly, you can set a batch to not clear once you post. You can then reuse the batch in the future. There is a facility to make global changes to batch lines, such as adjusting their dates and reference numbers.

Allocating Transactions

You have to allocate (match) the debits and credits to each other. Usually, these will be invoices and receipts.

You can perform this allocation at various stages:

If you enter the customer receipt via the Standard Transactions function, you can perform the allocation once you complete the entry of the receipt. For balance forward customers, you can also instruct the system to allocate the receipt to the oldest outstanding debit automatically.

You can at any stage access the Allocations window and allocate transactions.

You can use the Allocations Utilities function to range on customers and allocate transactions automatically on the oldest basis.

Post Dated Cheques

You can enter post dated cheques into the system in the same manner as you enter normal cheques. All you do is mark the cheque as post dated, and the system takes care of the processing. It works as follows:

You can enter post dated transactions You can enter the transaction via the General Ledger Cashbook, the Accounts Receivable Standard Transactions function, or via the Accounts Receivable Journal Batches function.

You can only mark credit transactions from customers as post dated. If you do, then when you process the transaction, the system does not update any account balances, nor does the transaction show on the customer ledger.

You use the Post Dated Cheques Due function to track the unposted transactions.

In the Post Dated Cheque Options function, you can choose an agent that the system should notify when the cheque is due. This is an optional process.

When a cheque is due, you use the Post Dated Cheques Due function to process the transaction and update the relevant accounts. 

Accounts Receivable Reports

Accounts Receivable reporting is an integral part of accounts receivable processing. There are many standard reports, but some of them are an essential part of the management process.


You send statements to customers on a regular basis to request payment. The statement lists transactions, shows the aged balances, and the customer's total balance.

You can email customers their statements and password-protect them.

You can show customer transactions on the statement in one of two ways:

You can show an opening balance at the beginning of the period, followed by the transactions for the period. This is the only method available for balance forward customers, but you can choose to use it for open item customers as well.

For open item customers, the statement shows transactions that you have partially allocated, transactions you have fully allocated in the current period, and any as-yet unallocated transactions.

You can use different stationery layouts for statements, depending on whether you are printing on plain paper or pre-printed stationery.

You can also optionally purchase the ability to customise reports, including the statement layout. This lets you display custom information on the statement, or use a different layout from the standard one. For details about customising report layouts, click here.

Age Analysis

You use the age analysis to see aged balances for a range of customers. The age analysis report summarises the amounts outstanding in each ageing period, and presents the values in each ageing period as a percentage of the total outstanding customer debt. By monitoring these percentages, you can evaluate your debt collection performance over time.

You can restrict the age analysis to show accounts that have a value in a specific ageing period and older. You can also only show accounts that are over a value you specify. You can use these options to generate follow-up lists of customers for credit controllers to contact.

Sales Commissions

You can enter sales commission percentages on sales representative records. The sales commission report applies those percentages to sales transactions over the period you specify, thereby producing a report of commissions that are due to sales persons. This saves a lot of time.

You can produce the report in detail, so that you can show the sales persons the sales transaction the system uses to derive their commission.