ERP Internals/Miscellaneous

This page contains a variety of topics that do not easily fit in the other areas of this document.

Security
Users log in to a company using a username and password. This establishes the data they can see and the functions they can perform. This authorization step is in addition to any log in required by the operating system. To improve security, both the username and the password are encrypted when they are stored in the User table. If the operating system provides file encryption, all data is encrypted. If it doesn't the ERP does the encryption itself.

Alerts
The ERP users define what is routine. When this routine is broken or action is required, the ERP notifies designated users via e-mail (or an instant message if they are on-line) so they can take corrective action. This function occurs in virtually all modules so it is documented here rather than repeatedly.

Design
Number There are fields such as Item Number, Supplier Number, Customer Number, Employee Number, Job Number, etc. that must be unique. Either the users can assign meaningful alphanumeric identifiers or the ERP can assign unique numbers automatically. Only Transaction Numbers are restricted to numbers and always assigned by the ERP.

Reporting Reports can be printed, displayed on the screen, faxed or e-mailed to someone, or exported as a spreadsheet. Some documents such as purchase orders and invoices can also be delivered (and received) electronically.

Attachments Arbitrarily large text notes as well as images, word processing documents, spreadsheets and video files can be attached to every employee, customer, supplier, invoice, order, etc. so that users can store comments and knowledge on-line rather than keeping paper files. For example, a user can scan a supplier’s invoice and attach it to the Accounts Payable invoice record so that everyone can see a copy of the original invoice.

History An ERP allows unlimited history to be kept on-line. For performance reasons, this is kept in a separate set of tables from ordinary transactions but this is transparent to users. Periodically (typically once a day), the oldest transactions are transferred to history. The enterprise decides how much history of each type of data they want to keep on file. Typically, this is at least the current year and the previous year.

Real Time An ERP accepts a transaction and updates all related modules in near real-time. (Typically, this means only a few seconds elapses between entry and final updates).

Drill Down Summary reports allow the user to click on a total to reveal the detail transactions that make up the summarized number.

System Builder An ERP allows the enterprise to specify several dozen criteria and generates a working system customized to their requirements. For example, some enterprises call their customers “clients”, “patients”, “guests”, or “members”, and their suppliers “vendors”. These criteria do not change any logic but make the system more familiar to their users. Another example is that not every enterprise uses every module so menus can be customized to remove modules and functions that are not being used.

Multi-currency
This means the ability to handle more than one currency. Often this is offered as if it is a separate module but it affects any module that includes dollar amounts which is virtually all of them. The ERP package has a defined set of currencies with conversion rates between them.

Internationalization
This refers to the ability to run in more than one country. Obviously, this includes multiple languages but it also includes different calendar systems and different ways of displaying dates and numeric amounts.

Currency
An ERP can accommodate a defined set of currencies, has conversion rates between them, and can recognize gains and losses on exchange. European nations have special needs because they are required to accept payment in either their national currency or the Euro regardless of what currency the invoice was issued in. Field sizes can change depending on the currency (for example the Japanese Yen and the Italian lire are tiny and field amounts are corresponding bigger but have no decimal places).

Different currencies require different symbols. In North America, the currency symbol is displayed immediately to the left of the most significant digit. In other countries, it is displayed immediately to the right of the least significant digit.

Digit Separator
In many countries, the function of “,” (comma) and “.” (period) are reversed from the North American convention. In other countries, different characters are used. For example, Switzerland uses “!” and India used different spacing (three digits for the first thousand and two digits thereafter). Japan uses a different ideograph between every four digits.

Rounding Rules
In North America, if the last digit is less than five, we drop it and the rest of the digits. If it is above five, we add one to the next digit to the left and drop the rest of the digits. If it is equal to five, 50% of the time, we follow rule one and the rest of the time, we follow rule two. In other countries, the rounding rules are different.

Language
An ERP can serve users in their own language simultaneously (user A can be using English, user B Spanish simultaneously). This can have implications for the size of messages and captions as well as the direction in which they are displayed (English reads top to bottom and left to right, other languages read right to left or top to bottom in columns). Ideographic languages such as Japanese had tens of thousands of ideographs rather than a couple of dozen letters.

Calendar
There are several calendars in use in the world in addition to the Gregorian calendar used in North America and Europe. Islamic countries can use the calendar with 28-day months as prescribed in the Qur’an. In Japan, dates can be displayed at the year of the current emperor’s reign. In Israel, the official calendar is the Hebrew one. In addition, the sequence in which days, months, and years are displayed varies from one locale to another. In Europe, dates are commonly displayed in the format year/month/day. In North America, they are normally displayed month/day/year. Although dates are stored in a standard format, they must be converted to and from the local calendar for data entry and display. If the enterprise deals with people’s birth dates or projected date of death, dates can occasionally be over 100 years in the past or the future. Some commercial leases can be up to 99 years long. If the enterprise deals with artwork or antiquities, dates can be an arbitrary number of years in the past.

Web-enabled
Any function that a user can do at a desktop can be done via a browser. The same log in is required.

Multi-company
This means the ability to have several different companies with one set of the software, Although the companies may be owned by the same people, they have different sets of tables with different passwords and access codes.

User Defined Fields (UDF)
Most records contain additional fields that the enterprise can use to hold information specific to them. These fields consists of dates, text and numbers. In addition to the fields in the records, there is a parameter that holds the name of the UDF. For purposes of simplicity and clarity, UDFs are omitted from the table definitions. Typically, the UDFs include a date, an amount, and a text field.

Comments
Master, header and line records allow the addition of comments. These have the format:
 * Date
 * Text

For the purposes of simplicity and clarity, these tables are not defined separately.

Attachments
Master, header and line records allow documents and drawings to be attached. The purpose of this is to allow all information relating to the invoice, etc. on-line. For purposes of simplicity and clarity, these fields are not defined separately.

Segmented Keys
Keys such as Customer Number, Supplier Number, Item Number, Account Number, and Employee Number are often divided into two or more segments each of which can be of specified length and composition (numeric, alphabetic, etc.). For example Account Number often has the format xxxx-xx in which the first set of four digits is the major account (such as Rent) and the second set of two digits is the department or branch.

Batches
Some enterprises gather many transactions together and enter them as a batch. Commonly a unique number is assigned to the batch and a control total of some amount (such as invoice amount) is calculated independently to verify that all the transactions were entered correctly. Batches are most common in Accounts Payable, Accounts Receivable, and General Ledger.

Databases
Smaller ERPs often restrict themselves to a single database such as Microsoft's SQL Server. Larger ERPs tend to run on all of the popular databases include SQL Server, Oracle, and IBM's DB/2.

Platforms
Smaller ERPs often restrict themselves to a single operating system such as Microsoft's Windows. Larger ERPs tend to run on all of the common operating systems.

Data Import/Cleanup
For small amounts of data (hundreds of records), it is simpler to key in the data to the new system. For larger amounts of data, the data must be imported from the previous system. This cannot be entirely automated but the skeleton of the programs that import the data are commonly supplied as part of the ERP package. Commonly companies clean up their data (customers, suppliers, inventory items) before they move it to the new systems