As with most networked applications, contemporary accounting system software will be installed on a multi-tier architecture. This accounting system architecture could all be on one file server, or across several servers to ease the load on processing, enquiries and reports.
The typical layers (tiers) are as follows:
The Presentation Layer
This is the upper level in the accounting system architecture. Its main purpose is to translate tasks and results, and manage how the information is displayed to users of the system. This is usually shown on a GUI (graphical user interface) or a web page.
The Application Layer
This is like the control room of the accounting system architecture. It holds the majority of the application software (on a rich client installation, some software will also be on the client machine). This layer performs calculations, processes commands, and makes logical decisions. It also moves data to and from the presentation and database layers.
The Database Layer
Houses the database (typically SQL or Oracle) that stores all the data. In an accounting system this data consists of financial ledger transactions and reference data such as chart of accounts, addresses, bank details, analysis codes, etc.
In a relational database each data type is usually stored in its own distinct table, linked to the other tables via common fields known as key fields. For example the account code will link a purchase ledger transaction line, with the chart of accounts, and a supplier record.
Often different ledger transaction types (e.g. purchases or sales) are held in their own specific tables. However, some advanced systems adopt a unified ledger approach whereby all financial transaction types are held in a single table. This makes all data available for reporting instantly and does away with the need for reconciliation and controls between ledgers.
Data Processing in the Accounting System Architecture
As transactions are posted in the presentation layer, the relevant data is passed from the business processes, via the application layer, to be stored in the systems database.
When a user makes an enquiry or runs a report, the application layer retrieves the data held in the database, processes it based on the configured business logic and passes it to the presentation layer to be displayed to the users.