ezBookkeeping Documentation

repository·main·Indexed 26 days ago

https://github.com/mayswind/ezbookkeeping

A lightweight, self-hosted personal finance application designed for privacy and efficiency. It supports SQLite, MySQL, and PostgreSQL backends and is optimized for low-resource devices like Raspberry Pi and NAS. The documentation covers installation via Docker or binary, building from source, and comprehensive CLI commands for managing the web server, database maintenance, user data, security keys, and cron jobs.

Tokens
2.5K
Snippets
0
Records
40
Agent score
90%

What's inside ezBookkeeping

  1. Configure ezBookkeeping API Tools environment variables

    main

    The API tools require two specific environment variables to function. If they are not set in your system environment, you can create a .env file in your user home directory containing these variables.

    VariableRequiredDescription
    EBKTOOL_SERVER_BASEURLRequiredezBookkeeping server base URL (e.g., http://localhost:8080)
    EBKTOOL_TOKENRequiredezBookkeeping API token
  2. Use ezBookkeeping API Tools via CLI scripts

    main

    The ezbookkeeping API Tools scripts allow you to interact with the ezBookkeeping server to record transactions, query data, retrieve account information, categories, tags, and exchange rate data.

    Depending on your operating system, use the shell script (.sh) for Linux/macOS or the PowerShell script (.ps1) for Windows.

  3. Manage ezBookkeeping API Tools commands

    main

    You can discover available commands and view specific help documentation using the following commands:

    List all supported commands:

    • Linux/macOS: sh scripts/ebktools.sh list
    • Windows: scripts\ebktools.ps1 list

    Show help for a specific command:

    • Linux/macOS: sh scripts/ebktools.sh help <command>
    • Windows: scripts\ebktools.ps1 help <command>
  4. Install ezBookkeeping using Docker

    main

    The fastest way to deploy ezBookkeeping is using Docker. You can run the latest stable release or the latest daily build (snapshot).

    To run the latest stable release, map port 8080 of the container to port 8080 on your host. After starting, access the application at http://{YOUR_HOST_ADDRESS}:8080/.

  5. Available languages in ezBookkeeping

    main

    The following language tags are currently supported for translation:

    TagLanguage
    deDeutsch
    enEnglish
    esEspañol
    frFrançais
    itItaliano
    ja日本語
    knಕನ್ನಡ
    ko한국어
    nlNederlands
    pt-BRPortuguês (Brasil)
    roRomână
    ruРусский
    slSlovenščina
    taதமிழ்
    thไทย
    trTürkçe
    ukУкраїнська
    viTiếng Việt
    zh-Hans中文 (简体)
    zh-Hant中文 (繁體)
  6. Manage users via UserDataCli

    main

    The UserDataCli provides several methods for administrative user management through the CLI. Key tasks include:

    • Add a new user: Create a user with a username, email, nickname, password, and default currency.
    • Retrieve user: Get user details by their username.
    • Modify password: Update a user's password and automatically revoke their existing tokens.
    • Account status: Enable or disable user accounts.
    • Email verification: Resend account activation emails or manually set a user's email as verified/unverified.
    • Password reset: Trigger a password reset email to a user.
    • Delete user: Remove a user from the system.
    • Feature restrictions: Add, remove, or set specific feature restrictions for a user.
  7. Verify and fix user transaction data integrity

    main

    Tools for maintaining the consistency of a user's financial data:

    • Check transaction and account integrity: Validates that all transactions correctly reference existing accounts and categories, checks that sub-accounts and sub-categories are used correctly, and verifies that the calculated account balances match the stored balances.
    • Fix transaction tag index: Repairs transaction tag index data by synchronizing the TransactionTime from the transaction record to the tag index if it is missing or invalid.
  8. Import and Export transactions

    main

    The UserDataCli supports data portability for user transactions:

    • Export transactions: Export all transactions for a user into a specific file format (e.g., CSV) as a byte array.
    • Import transactions: Import transactions from a file.

    Important Import Note: The import process will fail if the data contains new accounts, categories (expense, income, or transfer), or tags that do not already exist in the user's data. You must create these entities manually before importing the transaction data.

  9. Manage user tokens and 2FA

    main

    Administrative functions for managing security tokens and Two-Factor Authentication (2FA) for specific users:

    • List user tokens: Retrieve all unexpired normal and MCP tokens for a specific user.
    • Create user token: Generate a new api or mcp token for a user. You can specify the expiresInSeconds.
    • Revoke user token: Revoke a specific token using its string value.
    • Clear user tokens: Revoke all existing tokens for a user.
    • Disable 2FA: Disable Two-Factor Authentication for a user and delete their recovery codes.