ContaSoft is a web-based accounting system designed to simulate the complete accounting process in an educational environment. The application allows users to manage fictional companies, accounting cycles, and perform essential accounting operations such as creating entries, viewing ledgers, and generating financial statements. When entries are added to the journal, other components such as the general ledger, trial balance, and financial statements are automatically updated to reflect the new data.
The application features an intuitive interface for managing accounting data and practicing accounting processes in a controlled environment. It is developed in Java using the Javalin framework and Freemarker for the templating engine, with HTML, CSS, JavaScript, and Bootstrap for the frontend, ensuring a smooth and modern user experience.
Allows users to register fictional companies within the system. Each company can have its own configuration and accounting cycles, facilitating the management and organization of accounting data for different entities.
Users can create accounting cycles for each registered company. These cycles are essential for managing accounting entries and generating financial reports.
Users can add accounting entries with detailed information about financial transactions. This includes entering debits and credits with appropriate dates and descriptions, which is crucial for accurately recording all accounting operations.
The journal shows a detailed list of all accounting entries recorded in a specific accounting cycle. The view allows users to review and verify all transactions in a chronological format.
The general ledger provides a detailed breakdown of all accounts in T-format for each accounting cycle. This view allows users to review the balance and movements of each individual account.
The trial balance provides an overview of the balance between debits and credits in an accounting cycle. This view includes a detailed breakdown of the accounts, helping to verify the accuracy of accounting records.
The application allows generating several essential financial statements, including:
- Income Statement: Shows revenues and expenses to calculate net profit or loss.
- Statement of Changes in Equity: Details changes in the company's equity over a specific period.
- Balance Sheet: Provides an overview of the company's assets, liabilities, and equity.
- Cash Flow Statement: Shows cash flows from operating, investing, and financing activities.
The chart of accounts allows users to add new accounts in categories such as Assets, Liabilities, Expenses, and Revenues. Here are the default accounts that are automatically added to the system:
| Code | Name |
|---|---|
| 111 | Cash |
| 112 | Accounts Receivable |
| 114 | Supplies |
| 115 | Office Materials |
| 121 | Land |
| 123 | Furniture and Equipment |
| Code | Name |
|---|---|
| 211 | Notes Payable |
| 212 | Accounts Payable |
| Code | Name |
|---|---|
| 411 | Service Revenues |
| Code | Name |
|---|---|
| 612.01 | Salaries Expenses |
| 612.05 | Rent Expenses |
| 612.07 | Telephone Expenses |
| 612.1 | Electricity Expenses |
| Code | Name |
|---|---|
| 311 | Capital |
| Code | Name |
|---|---|
| 312 | Withdrawals |
Here are some screenshots and views of the application in action (Most important views):
Login and Registration
Accounting Cycles List
Journal View
General Ledger View
Trial Balance View
Financial Statements View
Accounts Catalog View
- Language: Java
- Frameworks: Javalin
- Frontend: HTML, CSS, JavaScript, Bootstrap, Freemarker
- Build Tool: Gradle
To run the application, To run the application, follow these steps:
- Clone this repository:
git clone https://github.com/your-username/contasoft.git
- Navigate into the project directory:
cd contasoft - Configure the variables in
application-local.propertiesif necessary. - Run the project using your preferred IDE or Gradle:
./gradlew run
Here are the contributors to this project:
Darvy Betances |
Marcos Blanco |
This project is licensed under the MIT License - see the LICENSE file for details.







