All Projects → utkuufuk → budget-cli

utkuufuk / budget-cli

Licence: MIT License
Manage your Google budget spreadsheets from terminal.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to budget-cli

core
Simple backup-application for automated website backups.
Stars: ✭ 11 (-63.33%)
Mutual labels:  cli-app
random-art-generator
Command-line application to produce generative art based on a target image
Stars: ✭ 32 (+6.67%)
Mutual labels:  cli-app
touch-bar
Launch the macOS Touch Bar simulator from the command-line
Stars: ✭ 43 (+43.33%)
Mutual labels:  cli-app
pycln
A formatter for finding and removing unused import statements.
Stars: ✭ 161 (+436.67%)
Mutual labels:  cli-app
doclt
Digital Ocean Command Line Tool
Stars: ✭ 43 (+43.33%)
Mutual labels:  cli-app
citybook
Create a resource directory from a contact spreadsheet.
Stars: ✭ 21 (-30%)
Mutual labels:  google-spreadsheet
qaz
qaz—A CLI tool for Templating & Managing stacks in AWS Cloudformation
Stars: ✭ 89 (+196.67%)
Mutual labels:  cli-app
malli-cli
Command-line interface from the comfort of a metosin/malli schema
Stars: ✭ 36 (+20%)
Mutual labels:  cli-app
augr
A simple command line time tracker
Stars: ✭ 19 (-36.67%)
Mutual labels:  cli-app
spreadsheet-to-json
Convert Google Spreadsheets to JSON using Javascript
Stars: ✭ 53 (+76.67%)
Mutual labels:  google-spreadsheet
pwsh-prelude
PowerShell “standard” library for supercharging your productivity. Provides a powerful cross-platform scripting environment enabling efficient analysis and sustainable science in myriad contexts.
Stars: ✭ 26 (-13.33%)
Mutual labels:  cli-app
file-icon-cli
Get the icon of a file or app as a PNG image (macOS)
Stars: ✭ 73 (+143.33%)
Mutual labels:  cli-app
Voila
Voila is a domain-specific language launched through CLI tool for operating with files and directories in massive amounts in a fast & reliable way.
Stars: ✭ 78 (+160%)
Mutual labels:  cli-app
ibrew
🍻Interactive CLI for Homebrew – the missing package manager for macOS.
Stars: ✭ 33 (+10%)
Mutual labels:  cli-app
meteor-google-spreadsheets
Google Spreadsheets for Meteor
Stars: ✭ 53 (+76.67%)
Mutual labels:  google-spreadsheet
wifiqr
Create a QR code with your Wi-Fi login details
Stars: ✭ 207 (+590%)
Mutual labels:  cli-app
gst
👻 Supercharge your ghq workflow.
Stars: ✭ 34 (+13.33%)
Mutual labels:  cli-app
teks
Easily get custom go template based outputs to your command-line tool. Like in docker/kubernetes
Stars: ✭ 41 (+36.67%)
Mutual labels:  cli-app
node-sheets
read rows from google spreadsheet with google's sheets api
Stars: ✭ 16 (-46.67%)
Mutual labels:  google-spreadsheet
gsheet to arb
Import translations (ARB/Dart) from Google Sheets
Stars: ✭ 21 (-30%)
Mutual labels:  google-spreadsheet

budget-cli

  • insert/edit transaction entries
  • view transaction logs & summary
  • synchronize with annual budget
  • only configure once in a year

Demo

Preliminaries

  1. Create monthly budget spreadsheets for each month from the spreadsheet template gallery.

  2. Optionally, create an additional annual budget spreadsheet if you want to use the synchronization feature.

  3. Take note of the SPREADSHEET_IDs which is embedded inside the URL:

https://docs.google.com/spreadsheets/d/<SPREADSHEET_ID>/edit#gid=<SHEET_ID>

Install

  1. Complete steps 1 in the quickstart guide. Make sure that you copy the credentials.json file into project directory.

  2. Update spreadsheet IDs inside config.json with your own monthly budget spreadsheet IDs.

  3. From project directory:

./install.sh

Uninstall

./uninstall.sh

Usage

  • For summary, categories, log and sync commands, this month's spreadsheet will be used unless specified explicitly.

  • For expense and income commands, today's date will be assumed and this month's spreadsheet will be used unless date is specified explicitly.

  • For edit command, the transaction date will stay the same and this month's spreadsheet will be used unless date is specified explicitly, in which case the month will be determined accordingly.

Transaction Entry

# insert expense transaction in June budget
budget expense "Jun 29, 40, Pizza, Food"

# insert expense transaction for today in this month's budget
budget expense "40, Pizza, Food"

# insert income transaction in August budget
budget income "Aug 2, 3000, Salary, Paycheck"

# insert income transaction for today in this month's budget
budget income "3000, Salary, Paycheck"

# edit 4th income transaction in this month's budget (see `budget log` for transaction number)
budget edit income 4 "65, Tax Return, Other"

# edit 5th expense transaction in September budget (see `budget log sep` for transaction number)
budget edit expense 5 "Sep 17, Mobile Plan, Communication"

# execute all transaction commands within ./example.txt (path can be relative or absolute)
budget insert ./example.txt

Here's what an input file might look like when using the insert command:

expense "Jun 29, 40, Pizza, Food"
expense "40, Pizza, Food"
income "Aug 2, 3000, Salary, Paycheck"
income "3000, Salary, Paycheck"

Summary

# print monthly budget summary for all months so far
budget summary

# print monthly budget summary for January
budget summary jan

Categories

# list all monthly budget categories & amounts for this month
budget categories

# list all monthly budget categories & amounts for February
budget categories feb

Log

# log monthly budget transaction history for this month
budget log

# log monthly budget transaction history for March
budget log mar

Annual Budget Synchronization

In order to synchronize with annual budget, expense & income categories must be exactly the same across all monthly budget spreadsheets and the annual budget spreadsheet.

# update annual budget with expenses & income of this month
budget sync

# update annual budget with expenses & income of April
budget sync apr
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].