Skip to main content

Simple Finance CLI

sfcli is a Command-line interface application for personal finance management.
It is a set of commands for managing monetary entries (incomes and expenses) through the terminal.

add

balance

README em Português Brasileiro

Quick Start

pipx install simple-finance-cli

sfcli add income salary 2500
sfcli add expense rent 800
sfcli add expense groceries 150

sfcli show
sfcli balance

Table of Contents

Installation

pipx

⚠️ Requirements: Python 3.10 or newer, pipx installed.

pipx handles installation and isolated environments.
With pipx installed, simply run:

pipx install simple-finance-cli

And then you're ready to go:

sfcli add e "New Expense" 100

Download a Binary

Skip the build step and grab a pre-built binary:

Download from GitHub Releases →

Choose the archive matching your operating system and you're ready to go.

⚠️ Windows users: if Windows Defender/SmartScreen blocks the executable, you may need to alter file permissions and properties, or disable Windows Defender/SmartScreen.

Repo Cloning

⚠️ Requirement: Python 3.10 or newer

You can install the project following these steps:

  1. Clone the repository and enter directory:
git clone https://github.com/joao-antonio-la/simple-finance-cli.git
cd simple-finance-cli
  1. Create a Python virtual environment:
  • Windows:
python -m venv .venv
  • macOS and Linux:
python3 -m venv .venv
  1. Activate the venv:
  • Windows:
.venv\Scripts\activate
  • macOS and Linux:
source .venv/bin/activate
  1. Install the CLI:
pip install .
  1. Use the app:
sfcli add e "New Expense" 100

Usage

sfcli currently provides four commands for managing your finances:

  • sfcli add: Create a new income or expense entry.
  • sfcli show: Display all saved entries.
  • sfcli delete: Delete one or all entries.
  • sfcli balance: Calculate the current balance.

sfcli add

The add command creates and saves a new financial entry.

sfcli add <type> <name> <value> [options]

Positional Arguments

  1. type: Determines whether the entry is an income or an expense.
    Possible values:

    • "income"
    • "inc"
    • "i"
    • "expense"
    • "exp"
    • "e"
  2. name: The name or label of the entry.
    Examples:

    • "Rent"
    • "Internet Bill"
    • "Weekly Groceries"
  3. value: Absolute monetary value.
    Use a positive number. sfcli determines whether it is added or subtracted based on type. Examples:

    • 67
    • 99.99
    • 56.4

⚠️ Values ​​with decimal places must be represented by a period ( . ), not a comma ( , ).

Optional Arguments

  • -d | --date: Date of when the entry was received or spent.
    Dates should follow the YYYY-MM-DD format. You can also use the following aliases:

    • yesterday
    • today
    • tomorrow

    Examples:

    --date 2026-03-17
    --date 2026-08-05
    -d 2026-12-25
    -d today
    

If --date is omitted, sfcli uses the date on the user's system.
For example, if you execute an add command on January 21, 2026, the entry will be registered with the date "2026-01-21".

  • -c | --comment: Additional information associated with the entry.
    Examples:
    • "10% bonus salary"
    • "Emergency groceries since being sick"
    • "Remember to pay John back"

Examples

sfcli add income "mama's gift" 50 --comment "random gift from mama"
sfcli add expense dinner 46.99
sfcli add inc salary 1560 --date today --comment "100 bonus"
sfcli add exp rent 600
sfcli add e "quick snack" 5
sfcli add i "found in street" 10 --date "2026-05-23"

sfcli show

The show command displays all saved entries in a formatted table.
By default, sfcli displays a shortened version of each entry's ID.
Use the --full-id or -I flag to display the complete ID.

sfcli show
sfcli show --full-id
sfcli show -I

sfcli delete

This command allows you to erase one or all saved entries.

Delete a specific entry

Provide the entry's ID to delete it:

sfcli delete 13055296-43a1-4ad6-8896-760a169bde5c

Delete all entries

Use "all" to erase all saved entries:

sfcli delete all

sfcli balance

The balance command calculates the total balance by taking both incomes and expenses into account.

sfcli balance

Dependencies

sfcli has the following dependencies:

  • rich: Used to display formatted output, such as tables and colored text.
  • platformdirs: Used to determine an appropriate location for storing application data.

Tests and Build

sfcli dev environment uses the following libs for testing and building:

  • pytest: Used for writing and executing test cases.
  • nox: Used for testing multiple Python versions automatically.

Additionally, in the CI workflow, it uses PyInstaller for generating the binary files.

Author Notes

Currently, sfcli has only four commands, but more features are already being planned.
More quality-of-life improvements are also on the way.
Stay tuned for future updates, and if you enjoy the project, consider giving it a star.

Download files

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

Source Distribution

simple_finance_cli-0.0.1.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

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

simple_finance_cli-0.0.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file simple_finance_cli-0.0.1.tar.gz.

File metadata

  • Download URL: simple_finance_cli-0.0.1.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for simple_finance_cli-0.0.1.tar.gz
Algorithm Hash digest
SHA256 44dddac912e4cd6cc516a96e4b971b6777e89fc27e11c120edf45aceccabc839
MD5 6ed8ebbcc122931572d2a1b524f4f8e1
BLAKE2b-256 6a7db1c416a654459bbbf863706bec70b0fe1a03f732651ace9b1296e92f224c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_finance_cli-0.0.1.tar.gz:

Publisher: release.yml on joao-antonio-la/simple-finance-cli

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

File details

Details for the file simple_finance_cli-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_finance_cli-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7e923890bef1b9442d94657a3b6facc83c2b74d0cb70756d19a1b9aa502b6039
MD5 372d492a99951f90317ec96131da1c1f
BLAKE2b-256 f1880f7ccd9dfa0ee58d02ac485066f220a4379ea5156f1af94eeb66f01161a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_finance_cli-0.0.1-py3-none-any.whl:

Publisher: release.yml on joao-antonio-la/simple-finance-cli

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

0.0.1 This release

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