Fixed founding values with service and database protection
Context
A unit’s founding currency and fiscal boundary define its accounting context. The cited product records establish fixed founding values and payment-method behavior; implementation supplies the field-level protections.
The cited product choices establish the unit’s founding values and payment-method behavior. The wider list of protected configuration fields is observed implementation and remains a proposed design choice; those product records do not approve every field on that list.
Decision
The fixed values are a unit’s base currency and starting month, a GL account’s unit and code, dimension units and codes, rate identity and origin, template kind, and payment-method behavior. Service validation and database guards protect these values.
Alternatives Considered
Correct founding values and rewrite dependents. This proposed alternative would require an explicit migration policy for amounts, periods and references whose interpretation could change.
Enforce fixed values only in the service. Other modules share the database; database guards also protect their writes.
Consequences
A different base currency or fiscal boundary requires a replacement unit.
Service refusals identify protected fields.
Console editors lock these founding controls after creation. Account currency has an additional console restriction that the service does not impose.