Joint Ventures (VEN)

The ven submodule of acc owns the joint-venture configuration: a JointVenture is a named cooperation, and JointVenturePartner rows record each partner’s ownership percentage, interest contract, and pre-settle flag. The pre-settle flag is consulted by acc.gld’s `JointVentureAccountingUtil so a transaction’s partner can be routed through the JV pre-settle accounts. It depends on com.par for the partner / partner-address rows, and on acc.bas for the interest contract.

Concepts

Joint Venture

A named cooperation between two or more partners.

Joint Venture Partner

One partner’s stake in a joint venture: their ownership percentage, the interest contract they accrue under, the calculation type (simple or compound), and whether the partner is "pre-settle" — meaning postings against this partner inside the venture should be routed through the JV pre-settle accounts.

Entities

VEN entities

Joint Venture (JointVenture)

A named cooperation.

FieldDescription

code

Business key (a JointVentureCode).

description

Human-readable name.

partners

The contained JointVenturePartner rows.

Joint Venture Partner (JointVenturePartner)

One partner’s stake in a joint venture.

FieldDescription

jointVenture

Owning venture (composite business key with partner).

partner

The partner.

partnerAddress

Optional partner address; must belong to the partner (validated).

ownershipPercentage

The partner’s ownership percentage in the venture.

interestContract

Interest contract used to accrue interest on the partner’s balance.

interestCalculationType

Simple or compound interest. Default S.

presettle

Whether postings against this partner inside the venture should be routed through the JV pre-settle accounts. Default false.

Functionality

Pre-settle routing

The presettle flag is the only externally observable behaviour of a JV partner. It is consulted by JointVentureAccountingUtil in acc.gld: when a posting’s partner matches a JV partner that is pre-settle, the posting is routed through the JV pre-settle ledger accounts instead of the regular accounts. The lookup is exposed through JointVentureAccountingUtil.isPresettleJointVenturePartner (and a null-safe variant).

Public API

ACC_VEN_QueryApi and ACC_VEN_CommandApi

This submodule does not provide query- or command-API classes. The configuration is read by the standard generated readers and consumed by acc.gld’s `JointVentureAccountingUtil.

ViewModel actions

The submodule defines view models for JointVenture and JointVenturePartner but does not declare any custom UI actions.