keeper

module
v0.22.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2023 License: Apache-2.0

README

keeper

The keeper module provides accounting and bookkeeping tools for programmers.

Keeper uses double entry accounting and stores numbers using a custom absolute precision floating point scheme. Specifically, all numbers are stored as arbitrary sized integers. Commodity/currency units have an int64 scaling factor to represent fractional amounts. For example, 1.23 USD is represented as 123, and the unit USD has a scale of 100.

The keeper module works with keeper files (with the .kpr extension). Keeper files make it easy to record transactions and calculate and reconcile account balances.

Keeper is designed for programmers. Keeper files have a simple syntax which can be generated from other sources, and the library returns the data in a convenient format for further processing, as well as some basic report generators. Additionally, the library exposes the parser and AST for keeper files.

Basic overview of usage:

  1. Enter transactions into keeper files.
  2. Reconcile balances.
  3. Generate ledgers.
  4. Generate trial balance.
  5. Generate financial statements: income statement, capital statement, balance sheet, cash flow statement

Directories

Path Synopsis
cmd
internal
config
Package config implements configuration for keeper.
Package config implements configuration for keeper.
month
Package month provides utilities for handling months.
Package month provides utilities for handling months.
webui
Package webui implements the Web UI for keeper.
Package webui implements the Web UI for keeper.
webui/templates
Package templates contains templates for the Web UI.
Package templates contains templates for the Web UI.
Package journal implements the processing of bookkeeping journals from keeper files.
Package journal implements the processing of bookkeeping journals from keeper files.
kpr
Package kpr documents the syntax of keeper files.
Package kpr documents the syntax of keeper files.
ast
Package ast declares the types used to represent syntax trees for kpr files.
Package ast declares the types used to represent syntax trees for kpr files.
parser
Package parser implements a parser for kpr files.
Package parser implements a parser for kpr files.
scanner
Package scanner implements a scanner for kpr files.
Package scanner implements a scanner for kpr files.
token
Package token defines constants representing the lexical tokens of kpr files and basic operations on tokens (printing, predicates).
Package token defines constants representing the lexical tokens of kpr files and basic operations on tokens (printing, predicates).
Package reports implements the production of various common reports from bookkeeping data.
Package reports implements the production of various common reports from bookkeeping data.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL