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 result of Logistiki.process/1.
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.