Skip to main content

Logo

Cacao Accounting Desktop

Python application

This project packages Cacao Accounting as a desktop application for Windows. The current desktop wrapper uses PySide6 instead of TkInter and starts a local WSGI server with waitress in the background while the user interacts with the application from an embedded Qt WebEngine browser.

Please note that if you are a Linux or Mac user you can host Cacao Accounting for your personal use with a few steps, this project is focused in Windows system that do not have a default install of Python.

Current desktop architecture

The desktop application now separates business rules from the UI:

  1. A pure core layer manages configuration, SQLite directories, URI generation, backup and restore operations.
  2. A PySide6 main window lets the user select the SQLite directory, refresh the database list, create new databases, restore backups and open the web app.
  3. A waitress server is started in the background and stopped cleanly when the desktop window closes.

Run locally

Install dependencies and start the desktop wrapper:

python -m pip install -r requirements.txt
python cacaoaccounting.pyw

Useful validation commands:

python -m build
pytest

Native printing

The print button rendered by Cacao Accounting uses window.print(). The desktop shell handles that request with Qt Print Support, opens the operating system print dialog, and sends the rendered WebEngine page directly to the selected printer. It does not create or open an intermediate PDF file.

Windows bundles must include the PySide6 PrintSupport and WebEngine modules. For confined Linux packages, grant access to the system print service:

  • Snap applications must plug the non-administrative cups interface.
  • Flatpak manifests must include --socket=cups in finish-args.

The printer must already be configured in Windows or CUPS. Printer administration is intentionally outside the desktop application's scope.

Cacao Accounting as stand alone executable for Windows.

Please note that this is not a native Windows application. The desktop wrapper ships Python plus the dependencies required to run the Flask-based web app as a local desktop experience, now with a native Qt shell and an embedded browser.

Note than been usable as standalone Windows app is one of the main reason beging the development of the Cacao Accounting project.

Create a Windows executable

Several steps are necessary to create a windows executable:

  1. Download WinPython 3.8.10, this contain a portable version of python suitable to run Cacao Accounting as a desktop app.
Please note that there is no formal requirement on the Python version,
Python 3.8.10 is taken as the base because it is the last stable version
to support Windows 7.

Support for Windows 7 ended on January 14, 2020, however some people may
find it useful to be able to run Cacao Accounting on Windows 7 (it is up
to the user to use a version of their operating system without manufacturer
support, updating the operating system version is highly recommended).

The 32-bit version must be functional but it is recommended to at least
use a Core i3 processor or higher, which are 64-bit processors.

It is possible that future versions of this project will update to a more
recent version of python.
  1. Uncompress WinPython 3.8.10, this will create a directory name WPy64-38100 and inside this directory a copy of Python portable named python-3.8.10.amd64

  2. Copy the content of python-3.8.10.amd64 to the pydist in the same directory that the script cacaoaccounting.pyw, your working directory should be like this:

work-dir:
 |-assets
 |-cacaoaccounting.pyw
 |-LICENSE
 |-pydist
  |-python.exe
  |-[support files to the python portable enviroment]
 |-README.md
 |-requirements.txt
 |-setup.nsi
  1. Install requirements inside the python portable enviroment with:
pydist\python.exe -m pip install -r requirements.txt
  1. Ensure the python portable enviroment can run the scritp with:

pydist\python.exe cacaoaccounting.pyw

  1. Generate a Windows executable with:
python -m pip install gen-exe
gen-exe --hide-console cacaoaccounting.exe "{EXE_DIR}\\pydist\\python.exe cacaoaccounting.pyw" --icon-file assets/icon.ico

Your working directory now will have a Windows executable:

work-dir:
 |-assets
 |-cacaoaccounting.pyw
 |-cacaoaccounting.exe
 |-LICENSE
 |-pydist
  |-python.exe
  |-[support files to the python portable enviroment]
 |-README.md
 |-requirements.txt
 |-setup.nsi

Doble click on the executable to verify it works.

  1. Create a Windows installer with nsis using the setup.nsi, this will create a installer that can be shared to final users.
Please consider that .exe installers, unlike .msi installers, may represent a danger
to your computer by containing malicious software or performing actions not authorized
by the user. For this reason, we recommend only using .exe installers obtained from
reliable sources. Since Cacao Accounting Desktop is distributed free of charge, we
recommend that you always download the application from the official Cacao Accounting
website and do not use installers provided by third parties.

To reduce the risk of damage to your computer, the Cacao Accounting installer does not
require administrator permissions and only makes changes to your user folder without
affecting other users on the computer.

Copyright

Copyright 2024 BMO Soluciones, S.A.

BMO Logo

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cacao_accounting_desktop-2026.8.24.tar.gz (121.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cacao_accounting_desktop-2026.8.24-py3-none-any.whl (117.0 kB view details)

Uploaded Python 3

File details

Details for the file cacao_accounting_desktop-2026.8.24.tar.gz.

File metadata

File hashes

Hashes for cacao_accounting_desktop-2026.8.24.tar.gz
Algorithm Hash digest
SHA256 ac27001a2bfc3fecfc9a98d1b9459f234c2ae6fd4e96080489a39f200b46467b
MD5 6616559aad46df9b7f1c17fb38732b44
BLAKE2b-256 2531622b36bd0a2fb99b875a094273cbc37603bde7bc0b1cea0c4ee88cb486f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cacao_accounting_desktop-2026.8.24.tar.gz:

Publisher: publish.yml on cacao-accounting/cacao-accounting-desktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cacao_accounting_desktop-2026.8.24-py3-none-any.whl.

File metadata

File hashes

Hashes for cacao_accounting_desktop-2026.8.24-py3-none-any.whl
Algorithm Hash digest
SHA256 3307a49c0b8504af6cd9f7e31fbc94379155a92dba92e094cc5a3cf3304965c8
MD5 771e027e010e39db0bee761b70799fb6
BLAKE2b-256 833bd0f3946fd8816437f5bb42ea7bae91ed2aa137a2041bbdcc345aa22f7de0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cacao_accounting_desktop-2026.8.24-py3-none-any.whl:

Publisher: publish.yml on cacao-accounting/cacao-accounting-desktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2026.8.24 This release

2 files

2026.8.23

2 files

2026.7.11

2 files

2026.7.4

2 files

2025.4.7

2 files

2025.4.6

2 files

2024.10.11

2 files

2024.9.2

2 files

2024.9.1

2 files

2024.8.31

2 files

2024.8.18

2 files

2024.8.15

2 files

2024.8.11

2 files

2024.8.7

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page