Accounting Software EvaluationThe accountant is likely to become deeply involved in the evaluation and selection of an accounting software package at some point during his or her career. When this happens, the chief issue to consider during the process is what features are needed for the accounting software to be acceptable to the buyer. This post provides general guideline when trying to answer the question during the accounting software evaluation and selection stage.


The accountant can no longer be skilled in just the management and technical aspects of accounting. The continuing need to improve the efficiency and effectiveness of the accounting function has driven organizations to install the most technologically advanced accounting software systems, which allows them to automate some functions, pull in data from other departments that was not previously available, and issue timely and specially formatted reports on an ongoing basis that are of great use in running the modern business. In order to use these systems properly, the accountant must understand how to create a management information systems strategy, select software, and install and test it.

While there are other technology-related issued to be aware of as well [such as information security, automated data collection and storage systems, electronic data interchange, etc], accounting software evaluation and selection most likely to be the most critical stage among the long process.

To you, accounting software developers: While I do realize that most of you are not a CPA [not even come from any financial or accounting background at all], I do appreciate huge efforts [learning the nature of any financial transactions, the accounting treatments, the procedures, etc.] that you have been coverted into accounting softwares that make the life of accountant become easier. I hope this post is fairly a valuebale input into the efforts. Read “Accounting Software Evaluation and Selection Part II”, you will see what I meant.


List of features in this post are is grouped by the type of accounting module most likely to be found in the software, and covers the most important accounting features:


Accounts Payable Features

This module includes those transactions that require the most time by accounting clerks, and so should be designed for the highest level of accountant efficiency, including “hot keys” to shift quickly between screens, a simple user interface, and an automated three-way matching process. The key features it should contain are:

1099 reporting. All U.S. based companies are required to issue 1099 forms following the end of each calendar year to non-corporate entities for payments made by the company to them during the year. The software should allow one to flag these entities for easy identification, as well as to print out the necessary 1099 form. Since the 1099 format can change from year to year, the system should also allow for minor adjustments to the format of the report.

Allow for purchasing approval at the receiving dock. An advanced feature is to allow open purchase orders to suppliers to be accessed at a computer terminal at the receiving dock, so that the receiving staff can check off those purchase order line items that have been received as soon as they arrive at the dock. This is a crucial means for reducing the effort involved in three-way matching.

Automated clearing house (ACH) payments. An advanced feature is to transmit a set of electronic payment requests directly to the company’s bank from the software, requesting the electronic transfer of funds straight to the accounts of suppliers. This avoids the need for a time-consuming check run.

Bank reconciliation. The software should list all checks that have not yet cleared the bank, so that the person performing the bank reconciliation can check them off on the computer, based on their presence in a bank statement. The bank reconciliation function may be listed elsewhere in the software, but it is largely based on this activity.

Cash forecast. The software should determine the amounts of cash that will be required to pay for accounts payable that are already stored in the accounting database, based on the dates when they are due for payment.

Identification of discount payments. The software should flag any payments for which the company will earn a discount if it pays early. In addition, there should be a user-defined field that represents the minimum discount percentage that will be flagged, on the grounds that a very small discount will not be worth the associated cost of funds if the associated invoice is paid early.

Linkage to electronic data interchange (EDI). The data entry of supplier invoices is a very time-consuming and error-prone task that can be avoided if the software contains an EDI interface that will automatically translate incoming electronic invoices into the proper format and enter them into the accounting database—without any manual intervention.

Pay based on receipt, rather than supplier invoice. An advanced feature is to pay suppliers upon the approval of the receiving personnel, who verify that incoming goods are noted in company purchase orders. This feature entirely avoids the use of supplier invoices as the basis for payment. For it to work appropriately, the system must include sales tax tables for all of the jurisdictions from which suppliers are sending goods, in order to ensure that sales taxes are paid. An alternative is to calculate use taxes and remit them directly to government authorities, but this will still require the use of tax tables.

Print supplier checks. The software should support the printing of check-based payments to suppliers. The software should allow for adjustments to the layout of the check form, so that any type of form can be used. An advanced form of this feature is to transmit a file containing all prospective payments to the company’s bank, which will print and mail the checks on its behalf.

Select payments by due date. The software should automatically determine which payments are due as of a date that is manually input by the user, and allow the user to manually exclude any items that will be paid at a later date.

Simple entry of data from supplier invoices. The software should allow one to set up default information for each supplier, such as a default expense account, payment term, and discount rate, at the time when it is initially entered into the system, so that this information will not have to be entered again in the future.

Simplified payments to one-time suppliers. The software should allow the user to avoid the entry of detailed payment information (such as address, default account number, and 1099 flag) for suppliers who are only paid one time. Instead, a simplified data entry process should be available for these payments.

Three-way matching. An advanced feature is for the software to automatically cross-check the existence of a purchase order, a supplier invoice, and receiving information for each item to be paid, and warn the user of any discrepancies among these three sources of information. This level of automation greatly reduces the workload of the accounts payable staff, which must otherwise conduct this research manually.

Void checks. The software should provide for a simple check-off function that allows one to quickly void a check, so that the related expense account is automatically credited and the cash account is debited.


Accounts Receivable Features

This module focuses on two primary functions, which are the creation of customer billings and the receipt of cash. The most essential features of this kind of software are:

Aging reports. The software must create a report that itemizes when payments are due from suppliers. The on-line report should also include some degree of interactivity, so that clicking on a listed invoice number will switch the user to a screen that lists the details of each invoice.

Bank reconciliation. Part of the bank reconciliation process is to have the software present a list of all cash receipts that have been received in the past month, so that one can check them off as having been received, as per the bank statement. The other portion of the bank reconciliation process is checking off cashed checks, which is noted under the listing of accounts payable functions.

Billings by job. An advanced function is that the software should summarize the labor and materials costs charged to a specific job and carry this information forward into an invoice for billing purposes. The billing should include default hourly rates for each person billed, as well as a default price for each part or product billed.

Cash application. The software should allow one to easily apply cash to either specific invoices or to expense accounts, as well as allow for partial payments, the use of discounts by customers, and immediate write-offs of remaining balances by the person applying cash through the software.

Cash forecast. The software should automatically determine the dates when cash is expected to be received from each customer, based on the origination dates or due dates of the invoices sent to them, which can then be used as part of a cash forecasting function. A more advanced feature is for the software to more precisely determine the dates when invoices are most likely to be received from customers, based on the individual payment history of each customer.

Collection notes. The software should allow the collections staff to store their collection notes on-line, alongside each invoice being collected. An advanced feature is for the system to automatically issue reminders to the collection personnel regarding when they are supposed to contact customers to follow up on payment issues.

Collection statistics. An advanced feature is for the software to automatically determine the collection statistics for the collections person assigned to each invoice, such as the average time required for collection.

Credit hold flag. The software must have a feature that allows the collections staff to flag a customer’s account, indicating that no further shipments will be made to it until pending credit issues are resolved. A key issue is that the software should not just issue a warning regarding these customers, but must completely shut down any processing of related orders, so that the company does not waste time processing orders that may never be shipped.

Customer statements. The software should be capable of creating a periodic report for customers that itemizes all outstanding invoices, as well as when they are due for payment. A more advanced feature is to render this information into an e-mail format for automatic delivery to customers, thereby avoiding the cost of mailing the statements.

Dunning e-mails. An advanced feature is for the software to issue warning e-mails to customers that notify them when payments have not been received on a timely basis. The timing, repetitiveness, and content of these messages should be controllable by the user.

Dunning letters. The software should be able to print out a series of preformatted dunning letters that vary based on the time that has passed since an invoice became overdue. The content of these letters should be adjustable by the user.

Electronic data interchange billings. An advanced feature is for the software to automatically reformat invoices into a standard EDI transaction and send them to customers. This will also require the use of a flag that tells the software which billings are to printed and which are to be sent out electronically.

Finance charge processing. The software should notify the user of any invoices that are so overdue that they qualify for an additional billing of finance charges, and create the invoice containing this charge, if so approved by the user.

Multiple bill-to and ship-to addresses. The software should at least contain space for multiple ship-to addresses, and preferably for a number of bill-to addresses as well. This is crucial in some industries, such as retail stores, whose shipments may be sent to hundreds of different locations. Be sure to ascertain the maximum number of addresses allowed by the system, and compare this to the expected number of addresses per customer.

Web linkage to on-line credit reports. An advanced feature is to include an icon in the software that allows collections personnel to quickly jump from the inhouse accounting software to an external credit reporting service, such as Dun & Bradstreet, so that they can verify credit information about new or existing customers.


General Ledger Features

This module requires a number of key capabilities, such as consolidations, financial reporting, account setup, and drill down for researching transactions. Here are some of the most crucial capabilities to look for:

Account format copying. The software should allow one to quickly replicate a pre-determined set of accounts for other uses. For example, one should be able to create a set of accounts for one company, and then copy the codes in their entirety to another company or subsidiary. This can be a great time saver when setting up the chart of accounts for multiple entities.

Account formatting. The software should allow one to create any possible format for account codes, including coding for companies, departments, product lines, and so on. The number of allowable digits in the account code should be at least a dozen. There should also be a feature that allows one to link subsidiarylevel accounts to master accounts, so that results reported in the subsidiary accounts will roll up into the master accounts.

Cost allocations. If a company expects to charge out costs to various functions or activities from cost pools, then the accounts designated as cost pools should have a feature that allocates a pre-set percentage of costs to pre-determined accounts. An advanced feature is for the allocation percentages to be automatically changed in each period based on the amount of costs or other activities that have occurred in other accounts.

Create financial statements. The software should contain a boilerplate version of the financial statements that is already available for use. There should also be a report writer that allows one to make adjustments to the basic layout of these reports. Further, the report writer should allow one to create specialized reports based on specific accounts and multiple years of data.

Drill down capability. A key feature for research purposes is for the software to allow the user to access a transaction at a summary level, and then “drill down” through many layers of detail to find the root cause for the transaction. For example, an excessively high cost of goods sold total might require one to access the variance accounts within the cost of goods sold, then scan through the detail for the key variance, then access the line item within that variance that caused the problem, and then go all the way down to the original transaction to determine the root cause of the problem. This represents an enormous labor savings for the accountant.

Entity consolidations. If a company has a number of subsidiaries, then the software must be able to consolidate the results of all these entities into a single set of financial statements, which must include the capability to automatically eliminate any inter-company transactions.

Multiple budget versions. A company may use one budget for calculating manager performance, another to report performance against a different target for shareholder reporting purposes, and perhaps other budgets for other reasons. Accordingly, the software should allow for the entry of multiple budgets that can then be used during financial reporting to create different comparisons to actual financial results.

Recurring journal entries. The software should allow one to create a journal entry and then set it up so that it automatically repeats for a pre-set number of future accounting periods. This eliminates the need for anyone to manually enter transactions that are not expected to change. A key feature is that the software should offer the option to update future recurring entries if the accountant decides to change the entry in the current period, since this eliminates the work associated with manually updating the transactions in all future periods.

Reversing journal entries. The software should be able to automatically reverse a journal entry in the following accounting period. This keeps an accountant from having to re-enter the system and manually reverse the journal entry. For example, a wage accrual must be reversed in the following period, and this can be completed most easily if the user simply checks off a reversing entry box in the journal entry screen.

Standard journal entries. The software should allow one to devise a series of standard journal entry formats, with pre-set description fields, that can be called up for use in each reporting period. This makes it easier for the accountant to quickly run through a standard set of transactions in order to close the books.Examples of such transactions are accruals for interest expense or income, wages, and property taxes.

Statistical data fields. The general ledger can be used as a data warehouse by allowing for the entry of non-accounting information in some fields. The user should be able to enter alphanumeric information in them, so that the operating or statistical data related to a reporting period can be permanently stored alongside the accounting data for that period.

Unbalanced entry warning. Avery basic function is for the software to warn the user whenever a journal entry is made that does not contain the same dollar value of debits and credits (for example, does not sum to zero). Otherwise, the balance sheet will not have a matching amount of debits and credits.


Inventory and Job Costing Features [Manufacturing]

The job costing functionality within the accounting software tends to be spread across several other modules, rather than concentrated in a separate module. Here are the most essential features to look for:

Backflushing capability. An advanced feature is for the system to skip the use of all picking transactions for moving inventory out to the shop floor, and instead to have the user enter the completed amount of production at the end of the production process, which the system then multiplies by the bill of materials for each item to determine what inventory was used, and then subtracts this total from the inventory records.

Bill of materials [BOM]. The presence of a bill of materials should be considered a crucial feature for cost accounting purposes, for it is used to define the exact contents of each product, which can then be used as a point of comparison to determine what should have been used during an accounting period. The software should allow one to include the expected scrap rate for each component, as well as the use of sub-assemblies that can roll up into a master bill of materials.

Comparison to purchase order upon receipt. As was also noted under the accounts payable module, the software should allow the receiving staff to compare the detail on purchase orders to what is actually received, and check off those items on-line, thereby eliminating much of the three-way matching work performed by the accounts payable staff.

Cycle counting report generation. The software should allow the user to enter a range of inventory locations and print out a report that lists the contents of those bins. This information is then used by a cycle counter to compare actual quantities to what is sitting on the shelf.

Direct and step-down allocation capability. If a company likes to allocate costs to various production functions, then its software should include the capability not only to directly allocate costs from a cost pool, but also to allocate costs from a service center into a cost pool, and thence to the final costing target.
Inventory disposition tracking. It is most useful for a cost accountant to know how each item of inventory is disposed of that is not consumed through its inclusion in a product. There should be a number of available codes in the system that users can enter to describe how they are eliminating various inventory items from stock, which the cost accountant can later compile and report upon.

Inventory location tracking. The software absolutely must allow for the precise definition of inventory locations within the warehouse. Otherwise, it is impossible to determine where items can be found for cycle counting purposes. The ideal location format should allow space for row, rack, and bin designations.
Inventory usage report. This report should itemize those units of stock that are being used most heavily, and should also offer the option of sorting in the reverse order, so that the warehouse manager can determine which inventory items are being used the least.

Labor routings. A labor routing is most useful in organizations in which there is a large labor content in its manufactured goods, or where it can use this information to schedule labor for upcoming production activities. The labor routing contains the exact types of labor categories and time required to manufacture a product.

Linkage to bar code scanning capability. The warehouse is one of the primary areas for efficiency improvements through the use of bar coding technology. Accordingly, the software should allow one to create bar codes for both inventory location codes as well as identification codes for each item in stock, as well as provide an interface for bar code scanning equipment that will send scanned data back into the accounting system.

Multiple storage location capability. An essential item is the capability to store multiple location codes for a single inventory part number. Less expensive software packages will force one to always store an inventory item in a single preset inventory location, while more advanced systems will allow for storage in any location at all.

Multiple types of cost layering. The software should at least allow one to create inventory layers using first-in first-out, last-in first out, and average costing. This is mandatory for external financial reporting purposes.

Multiple units of measure. There should be a table in the module that allows one to set up multiple types of units of measure that are valid for each inventory item. For example, the purchasing staff may buy tape in rolls, and so prefers to measure it in rolls, while the engineering staff prefers to measure it in terms of inches for its bills of material. This table will itemize the quantities associated with each type of measure, so that any designated unit of measure can be used without destroying the integrity of the underlying data.

Obsolete inventory warning report. This report should itemize those inventory items that have not been used within a user-specified time period. It is also useful for this report to list the quantity and valuation of inventory on hand for each item, so that the purchasing staff can see if there is a possibility of returning inventory items to suppliers for credit.

Rework tracking. The system should have a field available that identifies any jobs that are comprised of products that are being reworked. The accountant needs to determine the stage of completion for each of these jobs and determine the labor and other costs charged to them, in order to calculate the cost of rework.

Scrap tracking. The system should have a disposition code available that can be used to describe inventory that is thrown away. This is a particularly important feature if a company wants to use backflushing, since any excess scrap will otherwise not be recorded in the system, and will result in incorrect raw material inventory balances.

Transfer pricing accumulations. Though only an issue for those companies that transfer goods between subsidiaries, this function is useful for separately compiling the variable and fixed costs associated with each product as it moves through a series of companies. This information is quite useful for determining a product’s minimum allowable price, based on the cumulative variable costs assigned to it. Without this costing split, a company would be forced to price its transferred products based on their total cost, which may include irrelevant allocated overhead costs.

Unit cost database at different volume levels. An advanced function is to have a separate database that stores costing data for all component parts that a company uses, noting specifically how much each one costs if production volumes change to different levels (that is, typically higher costs if volumes are lower, and the reverse if volumes rise). This information is most valuable for budgeting product costs for various production levels, as well as for target costing activities in which the accountant assists in the determination of expected new product margins.



Payroll Features

Though many organizations outsource their payroll function to a supplier, many still use the full functionality of this application within their accounting software. The following functions should still be considered even if outsourcing is currently used, in case a company wants to have the option to switch to an in-house solution at some later date. The key payroll functions are:

Accepts input from automated time clocks. If a company has invested in automated time clocks, then the pre-formatted time keeping data generated by these miniature computers should be readily accepted by the accounting software and automatically converted into payroll records with minimal review needed by a staff person. The worst possible software functionality would be to re-key all of this data into the payroll software, since it would negate the value having purchased the time clocks.

Allows for user formatting of check layout. A different type of check format is generally created through the payroll software than what is normally generated through the accounts payable function. This format should include space to identify the gross pay earned, all deductions, net pay, and perhaps a notation regarding accrued and unused vacation and sick time. Generally, the more information allowed on the check, the less contact employees will need to have with the payroll staff, since they are being presented with all the information they need through this document.

Allows for user-defined deduction types. There are a large number of potential deductions that can be taken from a paycheck, such as garnishments, health club fees, or dental insurance deductions. The software should allow for an unlimited number of user-defined deductions, which will cover all possible deduction contingencies.

Blocks mandatory tax deductions. There are a few cases involving the use of foreign employees where mandatory tax deductions, such as social security taxes, do not have to be deducted from their pay. If a company has these employees, the software must be able to block these deductions from the standard payroll calculation.

Calculates time worked from time cards. Rather than forcing a staff person to manually calculate all hours worked from a time card, the software should allow one to enter each employee’s start and ending times for each day, from which it will calculate hours worked. Depending upon company pay policy, there may also be a need for the software to round off these times. For example, a person may clock in at 7:55 A.M., but that person’s work shift does not start until 8:00 A.M.; accordingly, the software can automatically round the start time up to 8:00 A.M. Further, it may be necessary for the software to automatically deduct the standard time period allowed for lunch or other types of breaks. It is also useful for the software to generate a report that itemizes those employees who have punched in but not out, or vice versa, so that the payroll staff can resolve these discrepancies.

Linkage to direct deposit function. If the company provides direct deposit of payroll funds to employee bank accounts, then the software should provide either a tape of these transactions to the company bank for direct deposit processing, or else generate an electronic transmittal containing this information.

Payment reversal function. There are times when paychecks must be backed out of the system. This can be a painful process, involving the reversal of the multitude of possible accounts that are used to distribute expenses on a paycheck. The software can ease this process by providing a simple check-off field that will automatically reverse the function.

Records different types of hours worked. There should be fields available that will describe every type of time that a company uses. For example, employees may categorize their time as sick time, vacation time, jury duty, military leave, overtime, or regular hours.

Records time worked by job. In many industries, billings to customers are primarily based on jobs completed, rather than products shipped. If so, the software must allow for the creation of job numbers and the subsequent application of hours worked against those jobs. The software should also allow one to split hours worked between multiple jobs and transfer time worked from one job to another, and allow for the closure of jobs, so that no additional time can be charged to them.

Regularly updates tax tables. The software provider should issue tax tables as part of the maintenance agreement that updates the software. Any problem in this area can result in significant potential liability to a company, and so should be grounds for the immediate transfer of the payroll function to some other software or to an outsourcing firm.

Transfers existing employees among departments. Employees will sometimes change the departments in which they work. If so, the software should track this change, keeping a record of both the old department and the new one. It is not acceptable to store just a single department in the software, since this means that all payroll costs for an employee for all dates prior to the transfer will also show the employee as working in the new department, which will unfairly record the person’s pay in the new department for as far back in time as the payroll system stores payroll data.


Purchasing Features

Though the purchasing function is generally considered to be separate from the most common accounting activities, a purchasing package that is closely meshed with the accounting software results in significant efficiencies in the processing of accounts payable. Here are the key functions to look for in a purchasing software package:

Automated requisition processing. Employees should be able to log onto an electronic requisition form and enter the items they need. This information is immediately transferred to the screens of the purchasing staff, who use it to create purchase orders.

On-line supplies catalog. An advanced feature is to have an on-line supplies catalog available to employees. They can scan through the various items for which the purchasing staff has already negotiated bulk purchasing deals with suppliers, enter their ship-to addresses, and the system will automatically bypass the purchasing department and issue orders directly to suppliers, who in turn will send the supplies straight to the ordering employees.

Blanket purchase order tracking. The system should automatically compile a list of all receipts that were ordered under a blanket purchase order, so that the purchasing staff can see how much of an ordering commitment it has still remaining under the blanket order.

Commodity volume tracking. The system should categorize each item purchased by commodity code, and regularly summarize the quantity of commodities purchased, both in terms of units and dollars ordered. This is most useful for reshuffling the workload of the purchasing staff, each of whom is usually assigned a specific commodity code for purchasing activities.

Electronic data interchange transactions. The software should allow one to issue an EDI transaction to a supplier. The software should automatically convert a purchase order into EDI format and transmit the transaction to the supplier. This may call for a custom interface to a separate EDI transmission package.

Linkage to material requirements planning (MRP) system. The purchasing staff can plan for purchases much more easily if the purchasing software is linked to an MRP system. An MRP system determines the exact amount and timing of all purchases related to the upcoming production plan, based on material quantities listed in the bill of materials and on-hand raw material inventories. A high-end MRP system will even create purchase orders for review by the purchasing staff, or bypass the manual review stage and place orders directly with suppliers.

Purchase order transfer to three-way match processing. The purchasing software should be linked to the accounts payable software, so that the accounts payable system can automatically reference issued purchase orders during the three-way matching process in order to ensure that received items were properly ordered by the company.

Supplier performance tracking. An advanced feature is for the software to automatically compile performance statistics on each supplier. This may include the time variance between when items are supposed to be delivered and when they are actually received, or the percentage of items that are rejected based on poor quality. The system can even compile reports and automatically issue them as a periodic “report card” to suppliers.

Track receipts against due dates. The software should notify the purchasing staff when there are shipment due dates coming up in the near term that may call for a verification phone call to the supplier to ensure that the shipment is indeed on its way. Alternatively, the software can warn the purchasing staff when expected receipts have already passed their expected due dates.

Read the next features to be look for on an accounting software: Accounting Software Selection and Evaluation [Part II]