SOA Junior — Statement Production

The account takes shape
one citation at a time.

As the SOA Junior, you produce the technical statements of account. You select the right pattern for each contract, then fill in each line — either with free-form documentary values or by citing the exact Manager graph node that produced the figure.

📄 Contract-based workflow
📊 SOA pattern viewer
✏️ Dimension fill drawer
🔗 FORMULA citations

Your role in the chain

You are the last step before the account is final. Everything upstream — clause structuring, actuarial formalisation, Manager instanciation — flows into your work.

Junior
Clauses
Creates structured clauses
Senior
Validation
Validates & configures
Actuary
DAG graphs
Formalises logic
Manager
Instances
Enters contract values
SOA Senior
Patterns
Designs account templates
SOA Junior — you
Statements
Instantiates patterns, cites Manager data
💡
You do not calculate — you document and cite. Your job is to connect each account line to its source: either a free documentary value (periodicity, share, counterpart) or a precise reference to a Manager graph node.
New to the platform? Your workspace is already built.
Every new account includes a complete reference framework, a live Profit Commission example with 5 actuary graphs, and 2 SOA statement templates — included at signup.

Contracts & instances

The sidebar lists all contracts in your tenant. Each contract can have one or more SOA instances — one per pattern used.

Selecting a contract

Click any contract in the sidebar (or use the search box) to open its detail panel. You will see the contract's treaty types and its existing SOA instances.

Creating an instance

1
Open a contract
Click the contract in the sidebar. Its detail panel appears on the left.
2
Click + SOA Instance
The instance creation dialog opens. Select the SOA pattern designed by the SOA Senior for this type of contract.
3
Check compatibility
A compatibility badge shows whether the pattern's treaty type restrictions match the contract. A mismatch is a warning, not a block — you can still proceed if you have a good reason.
4
Create
Click Create instance. The instance appears in the list and the pattern DAG loads in the right panel.
💡
Multiple instances per contract. A contract can have several SOA instances — for example one per period (annual, adjustment) or one per pattern type. A warning appears if you instantiate the same pattern twice on the same contract, but it is not blocked.

Deleting an instance

Click the 🗑 button next to an instance in the list. All its dimension values will be permanently deleted. This action is irreversible — confirm carefully.

SOA Patterns

The SOA Patterns section (read-only) gives you a reference view of all patterns designed by the SOA Senior — accessible directly from the Contracts section in the sidebar.

Each pattern shows its structure: nodes, link types, treaty type restrictions, and the dimensions the SOA Senior has attached to each node. Use this section to understand a pattern before instantiating it, or to check which dimensions you will need to fill.

💡
This view is read-only. You cannot edit patterns — that is the SOA Senior's responsibility. If a pattern is missing or incorrect, contact the SOA Senior.

Pattern compatibility

When creating an instance, the dialog shows a compatibility badge based on the overlap between the contract's treaty types and the pattern's restrictions.

BadgeMeaningCan you proceed?
✓ CompatibleThe contract shares at least one treaty type with the pattern's restrictionsYes — recommended
🌐 UniversalThe pattern has no treaty type restriction — applies to all contractsYes — always valid
⚠ MismatchNo treaty type overlap — the pattern may not be designed for this contract typeYes, with caution
⚠ cycleThe pattern has a detected cycle — it cannot produce a valid accountNo — blocked

If the pattern you need shows a cycle warning, contact the SOA Senior to fix it before proceeding.

Filling dimensions

After creating an instance, click any node in the pattern DAG to open the dimension fill drawer on the right side of the screen.

💡
Only nodes with dimensions attached are clickable. If clicking a node does nothing, the SOA Senior has not attached any dimensions to it — nothing to fill.

The fill drawer

The drawer shows the node's label, its link type (colour-coded), and one fill section per attached dimension. Each section has a general hint (in yellow) and numbered instruction fields to complete.

DETAIL Net retained loss — XL layer 1
Describe the periodicity of this account line — quarterly, annual, or adjustment period.
1
Type (Granule / Period)
2
Value (e.g. "2024")
3
Exceptions (if any)

Fields with a green border are already filled. Click 💾 Save at the bottom of the drawer to persist your values. You can return to any node and update its values at any time.

⚠️
Save is per-node. Closing the drawer without saving discards your changes for that node. The toolbar fill progress updates automatically after each save.

FORMULA lines — citing Manager data

Some account lines — marked with a 🔗 icon and a dashed border — are FORMULA nodes. Instead of entering a free-form value, you cite the exact Manager graph node that produced the figure for this line.

🔗
FORMULA nodes connect the account to the actuarial model. When you cite a Manager instance node, you are saying: "this account line takes its value from that specific computed output." The reference is stored as a pointer — not a copied value — so if the Manager updates the instance, the citation stays consistent.

How to fill a FORMULA node

1
Click the FORMULA node
The fill drawer opens. A 🔗 Manager node citation picker appears with three groups of candidate graphs.
2
Read the three groups
Same contract — Manager graphs instantiated on the same contract as your SOA. Same treaty type — graphs whose contract shares treaty types with yours or the pattern. Same clause — graphs linked to the same clauses as the pattern. A graph can appear in several groups — that is intentional.
3
Click a graph
Click the graph label to select it. A node selector appears showing each graph node with its label, operand, and value type.
4
Select the node
Choose the specific node whose output feeds this account line. The selected citation appears at the top of the drawer.
5
Save
Click 💾 Save. The node turns green (🔗 wired ✓) on the canvas.
💡
You can change or clear a citation at any time. Re-open the node, select a different graph and node, or click ✕ to remove the citation. The previous citation is replaced on Save.

What if no graph appears?

If all three groups are empty, the Manager has not yet instantiated any relevant graph on a compatible contract. Contact the Manager — the FORMULA node will stay amber (unwired) until a source exists. This is intentional: an unwired FORMULA node signals a gap between the actuarial model and the account structure.

Tracking progress

Fill progress is tracked at two levels simultaneously.

WhereWhat it shows
Toolbar (DAG viewer)Live fraction — e.g. "25% filled (2 / 8 nodes)" — updates after every save
DAG canvas (FORMULA nodes)🔗 green = wired ✓, amber = unwired — updated after every save
⚠️
The canvas updates after F5. After saving, press F5 and re-select the contract and instance to see the updated wired/unwired state on all nodes.

SOA Instances Explorer

A cross-contract view of all your SOA instances — accessible from 🔭 SOA Instances Explorer in the sidebar.

Each card shows the instance identifier, the contract name, the pattern name, and the contract status. Click a card to navigate directly to that contract and instance.

Filters

FilterWhat it restricts
All contractsShow only instances for a specific contract
All patternsShow only instances of a specific SOA pattern
All statusesShow only instances whose contract has a specific status (ACTIVE, CLOSED…)

The instance count updates in real time as filters are applied. Filters are independent — combine them freely.

Data Checks

Live SQL queries on your tenant data — accessible from 📊 Data Checks in the sidebar.

ViewWhat it shows
SOA Instances — overviewAll instances with contract, pattern, status, and treaty types
FORMULA citationsWhich SOA node cites which Manager graph node — with label, operand, value type
Dimension values — detailAll dimension values entered, with node and dimension context
Production — technical account exportFull account: all instances × nodes × values + FORMULA citations. One row per node per instance — exportable for reporting.

Each view has a ▶ Run button. Results display inline with a ⬇ Download CSV link for full export.

Maintenance

Eight cleanup checks accessible from 🔧 Database purge in the sidebar. Always diagnose first — executions are irreversible.

CodeWhat it cleansRisk
J1SOA instances on a contract that no longer existsHigh
J2SOA instances on a pattern that no longer existsHigh
J3Dimension values whose instance was deletedMedium
J4Dimension values whose node dimension was detached by the SOA SeniorMedium
J5Dimension values whose instruction was deleted by the Senior UnderwriterLow
J6FORMULA citations whose SOA instance was deleted (safety check — normally handled by cascade)Low
J7FORMULA citations whose pattern node was deleted by the SOA SeniorMedium
J8FORMULA citations pointing to a Manager instance that no longer exists — wiring is brokenMedium

Recommended order: J1 → J2 → J3 → J4 → J5 → J6 → J7 → J8. Running J1 and J2 first removes stale instances and their FORMULA citations. J8 signals broken wiring — the SOA Junior must re-cite the affected FORMULA nodes.

⚠️
J1 and J2 are high-risk. They delete instances, all associated dimension values, and all FORMULA citations. Review the diagnostic list carefully before confirming execution.