Ownware
Home›Cashora›Quickstart
Cashora · Quickstart

Cashora Quickstart, as shipped in the download

The QUICKSTART.txt in the download — the same steps your delivery email carries.

CASHORA — QUICKSTART
====================

Self-hosted petty-cash ledger — PHP + MySQL/SQLite. Records cash movements only
(no payment processing, no cards, no crypto).


REQUIREMENTS
------------
  - PHP 8.1+ with extensions: pdo, pdo_sqlite (or pdo_mysql)
  - MySQL 5.7+ / MariaDB 10+ OR SQLite 3 (SQLite requires no extra setup)
  - A web server (Apache with mod_rewrite, or Nginx with try_files)
  - No Composer packages, no API keys, no external services.


SHARED HOSTING / CPANEL (RECOMMENDED FOR MOST BUYERS)
------------------------------------------------------
1. Upload the contents of the `app/` folder to your web root (e.g. public_html/)
   or a subdirectory (e.g. public_html/cashora/).

2. Make sure this directory is writable by PHP:
     data/

   Via cPanel File Manager: right-click -> Permissions -> set to 755 or 775.

3. Visit https://yourdomain.com/install/ in your browser.

4. Fill in the installer:
     - Database: choose MySQL (fill in host/name/user/pass) or SQLite (no setup)
     - Business name, default currency, timezone
     - Your admin name, email + password

5. The installer writes config.php, seeds a few starter categories, and redirects
   you to the login page.

6. Log in, then:
     - Create your cash boxes (each with an opening float and currency)
     - Adjust categories under Setup > Categories
     - Record disbursements and replenishments from each box's page


TRY IT WITH DEMO DATA FIRST
---------------------------
  - On the dashboard, click "Load demo data" for several cash boxes across two
    currencies with about a month of movements, then "Reset all data" when done.
  - Or from the command line:  php bin/demo.php
      (login: admin@cashora.app / admin123)


VPS / SELF-HOSTED (APACHE)
--------------------------
  <VirtualHost *:80>
    DocumentRoot /var/www/cashora/app
    <Directory /var/www/cashora/app>
      AllowOverride All
      Require all granted
    </Directory>
  </VirtualHost>


DOCKER (QUICK TEST)
-------------------
  docker run --rm -p 8080:8080 \
    -v "$(pwd)/app:/var/www/html" \
    -w /var/www/html \
    php:8.3-cli \
    php -S 0.0.0.0:8080 router.php

  Then visit http://localhost:8080/install/


REPORTS & EXPORTS
-----------------
  - Period report > pick a month (and optionally one box) > Export PDF or CSV.
  - The PDF is a genuine, dependency-free PDF: per box it shows opening balance,
    disbursements by category, replenishments, and closing balance for the month.
  - The CSV lists disbursements for the period and is safe to open in Excel /
    Google Sheets (formula-injection hardened).


POST-INSTALL SECURITY CHECKLIST
--------------------------------
  [ ] config.php is protected (the .htaccess does this automatically)
  [ ] data/ is not web-accessible (.htaccess blocks it automatically)
  [ ] Use HTTPS in production
  [ ] Keep PHP updated


NOTES
-----
  * Money is stored as integer cents; no floating-point rounding touches a total.
  * Each box keeps its own currency; cross-currency balances are never summed.
  * Cashora records cash movements only. It does not process payments and never
    handles cards, bank transfers, or cryptocurrency.

← Back to Cashora · Manual · API · Test run

Affiliate program
Recommend tools people own — earn 35% on every sale. 90-day tracking, instant delivery, payouts by Lemon Squeezy.
Become an affiliate →