/creatief-vakvrouw

Automation for Noemi's business

Primary LanguageRust

Small business financials

A minimalistic web app to manage and automate a small business's financial administration.

This software is heavily overfitted on Noemi's specific usecases. It aims to provide the following workflows:

  • Generate invoices (prefer external sources above manual input)
  • Prepare BTW-aangifte
  • Save invoice PDFs in SQLite
  • Keep track of balance sheet
  • Keep track of income and costs
  • Use Typst to render invoices instead of LaTeX (see the Typst port of mrzool's invoice template)

Dashboard

The main dashboard linking to all actions

Getting started

  1. Check-out source code
  2. Dump clients.json in the root, e.g.:
  {
    "client-key": {
      "name": "Client A",
      "address": "Main Road 12",
      "zip": "1234AB, Amsterdam"
    }
  }
  1. Set LINDA_AUTH environment variable to a valid session key
  2. Run development server with cargo run -- server

Docker

  1. Check-out source code
  2. Dump clients.json in the root, e.g.:
  {
    "client-key": {
      "name": "Client A",
      "address": "Main Road 12",
      "zip": "1234AB, Amsterdam"
    }
  }
  1. Create an env file for Docker, e.g. env.list:
LINDA_AUTH=csrftoken=value; sessionid=value
  1. Build an image docker build -t creatief-vakvrouw .
  2. Run the server:
docker run --env-file env.list -p 8080:1728 --detach --rm --name facturen creatief-vakvrouw:latest

Fly.io

The repository includes a fly.toml file. To use it, modify the app name and volume source to your respective deployment and run fly deploy.

Screenshots

List of invoices

Complete history of invoices grouped by month

VAT overview

Overview of VAT per quarter as preparation for the tax agency filings

New invoice form

Form to generate and store a new invoice. Will remember past clients to speed up fill-out