API Reference logistiki v#0.1.0

Copy Markdown View Source

Modules

Logistiki โ€” an embedded OTP accounting engine for Elixir applications.

The context for internal accounting artifacts: journals and postings.

A record of the accounting policy selected for an event.

A posting template: an ordered list of posting specs that a policy resolves into concrete postings.

Enforces hard accounting invariants in deterministic Elixir.

A journal is an internal accounting artifact created by the runtime from a business event. Journals are not the main application-facing API; applications publish business events.

Builds a journal draft (and its posting changesets) from a knowledge result and a normalized event.

A small money helper around Decimal amounts and a currency string.

The accounting pipeline: the defining mental model of Logistiki.

A posting is a single debit or credit leg of a journal.

Builds concrete postings from a posting template and resolved account roles.

The context for audit evidence.

A persisted audit event.

A structured audit-evidence record.

The context for hierarchical business entities.

A hierarchical business entity: legal, operational, customer, organizational, or ownership structure.

Closure table for the business entity hierarchy.

The end-to-end demo scenario for Logistiki v0.1.0 (project plan ยง35).

Demo scenario seeds for Logistiki v0.1.0.

Structured errors returned across the accounting pipeline.

Behaviour implemented by business events.

A customer account was opened. This event has no accounting impact: it produces audit evidence only.

A cash or wire deposit received into a client account.

A fee assessed against a client account (e.g. a wire fee).

Interest accrued on a client account.

An invoice paid by a customer from their operating account.

The canonical, flattened representation of a business event.

A refund issued to a customer. Accounting impact mirrors a withdrawal: debit client liability, credit cash.

An internal transfer settled between two accounts (e.g. operating -> payroll).

The context for business events.

Persisted record of a normalized business event.

The context for the accounting knowledge layer.

Generates runtime Datalog facts from a normalized business event.

Loads and evaluates the accounting knowledge program for a single event.

Selects the accounting policy for a normalized event using the knowledge layer.

The Datalog knowledge base for Logistiki.

Helpers for querying materialized ExDatalog.Knowledge for Logistiki facts.

The outcome of evaluating the knowledge layer for a single business event.

Documentation and helpers for the three rule categories in Logistiki.

Resolves the posting template for a selected accounting policy.

The context for ledger backends.

The Beancount ledger backend โ€” the accounting oracle.

Maps Logistiki virtual accounts, journals, and postings to Beancount directives and back.

Behaviour implemented by ledger backends.

The result of a ledger backend execution.

The simulation ledger backend.

The context for projections.

A derived balance for an account (or aggregation of accounts).

A balance sheet view: assets, liabilities, and equity balances.

A general ledger view: all postings ordered by effective date and journal.

An income statement view: income and expense balances, plus net profit per currency.

Computes projections over immutable postings.

A single line in an account statement.

A trial balance: debit/credit totals per account per currency.

The context for entity-to-account relationships.

A many-to-many relationship between a business entity and a virtual account, with effective dating and a relationship type.

The Ecto repository backing Logistiki.

Telemetry event helpers for the accounting pipeline.

The context for hierarchical virtual accounts.

A hierarchical accounting account. Virtual accounts are not balances; balances are derived from postings. Parent accounts aggregate children.

Closure table for the virtual account hierarchy.