Cashup is a Java Swing-based application for managing daily and weekly cash counts in your cash register. It facilitates the process of calculating the cash difference at the end of each day or week, logging this information into a cash book, and storing it as a PDF.
- Cash Counting: Count your cash quickly and accurately.
- Cash Difference Calculation: Calculates the difference between the actual and expected cash.
- Automatic Cash Book Logging: Possibility to activate Python scripts that automatically log cash differences into your cash book.*
- PDF Generation: Generates a PDF document for each cash count.
- Daily and Weekly Cash Counts: Perform cash counts at the end of each day or week.
*) This feature is not included. You will have to write your own Python scripts to automate the logging process. You can use PyAutoGUI to interact with the user interface of your own program.
Cashup is built on Java 17 and uses Maven for project management. It uses Java Swing to create its user interface. For automation tasks, you can set up your own Python scripts which might interact with your other user interfaces for example using the PyAutoGUI library. These scripts might extract the expected cash value or save the difference between expected and actual cash amount.
The project has several dependencies which are handled by Maven:
miglayout-swingfor layout management in the UI.flatlaffor the look and feel of the UI.pdfboxto generate PDF documents.slf4j-apiandlogback-classicfor logging purposes.
Check the pom.xml file for more details on versions and scopes.
To run the application, use the Exec Maven Plugin, which is configured in the pom.xml to run the main class:
./mvnw clean install./mvnw exec:javaThe project is licensed under the MIT License.


