DECCF · Cash Flow Modeler and Calculator

Learn the framework

This series shows how model declarations combine into a runnable calculation. Factories such as entity, cashflow, and input create references. defineModel() collects those references, and run() evaluates them across a timeline.

Follow the lessons in order:

  1. Create a minimal model
  2. Add cashflows
  3. Choose a timeline and schedules
  4. Use preconditions and run inputs
  5. Work with currency and money
  6. Describe entities, fields, and states
  7. Add agreements, events, and options
  8. Declare allocations and fund needs
  9. Read and value results
  10. Extend a model with a pack

Model lifecycle

  1. Create references with the public factories.
  2. Collect them in ordinary named objects passed to defineModel().
  3. Validate with compileModel() or let run() compile automatically.
  4. Read the returned result. Series and aggregates belong to that run.

The keys in each defineModel() map become names in results. Calculation callbacks use reference objects directly, so the engine can reject a reference of the wrong kind instead of resolving arbitrary strings.

Open the How-to guide · Open the Reference