EverSharp Quote Extension¶
The EverSharp Quote Extension is a comprehensive library of insurance-specific functions for EverSharp, providing specialized capabilities for:
- Premium Calculations - Complex pricing with factors, discounts, and taxes
- Policy Lifecycle - New business, mid-term adjustments (MTA), renewals, cancellations
- Underwriting - Automated decision-making, referrals, and risk assessment
- Ledger Management - Transaction tracking and audit trails
- Regulatory Compliance - IPT, tax/duty calculations, commission handling
This extension adds 44 specialized functions to EverSharp, enabling sophisticated insurance quoting workflows entirely within EverSharp scripts.
Installation¶
NuGet Package¶
Package Manager Console¶
Quick Start¶
Basic Setup¶
Register the Quote Extension functions when creating your EverSharpRunner:
using Elements.Libs.EverSharp;
using Elements.Libs.EverSharpQuoteExtension;
// Create runner with Quote Extension functions
var runner = new EverSharpRunner(null, QuoteExtension.Functions);
// Now all 44 Quote Extension functions are available
var result = runner.Run(yourEverSharpScript);
Combining with Core EverSharp Functions¶
// Merge Quote Extension with core EverSharp functions
var allFunctions = new Dictionary<string, Callable>(QuoteExtension.Functions);
// Add your custom functions if needed
allFunctions["$MyCustomFunction"] = new MyCustomFunction();
var runner = new EverSharpRunner(null, allFunctions);
Simple Example¶
// Initialize pricing matrix
$SetCurrencyToPricingMatrix("GBP");
$SetCommissionRateToPricingMatrix(0.15);
$SetIptRateToPricingMatrix(0.12);
// Add base premium
$AddItemToPricingMatrix("Base Premium", 500.00);
// Apply factor
$AddFactorToPricingMatrix("Age Factor", 1.25, true, 0);
// Calculate quote
$CalculatePremiumAdditive("NewBusiness");
// Output contains final premium with all calculations applied
Function Categories¶
Pricing Matrix Functions¶
27 functions for building and manipulating pricing structures:
- Add items, factors, discounts, add-ons
- Configure tax, IPT, commission, fees
- Remove items and manage matrix state
Quote Calculation Functions¶
7 functions for premium calculations and adjustments:
- Calculate premiums for new business, MTAs, renewals
- Process cancellations (full, pro-rata, no refund)
- Calculate age and policy dates
Quote Functions¶
3 functions for managing quote public data and features:
- Validate quote status based on underwriting decisions
- Add and manage policy features and benefits
- Structure quote data for external consumption
Ledger Functions¶
Transaction tracking and audit trail management:
- Add ledger entries for all financial transactions
- Maintain complete audit history
Underwriter Functions¶
7 functions for automated underwriting decisions:
- Add underwriter decisions (accept, decline, refer)
- Multi-level referrals (Level 1, 2, 3)
- Add endorsements
Time Functions¶
Policy date calculations:
- Calculate policy start/end dates
- Handle time-based premium adjustments
Output Functions¶
Format and structure quote results:
- Set premium values
- Configure monthly payments
- Apply IPT and other calculated values
Key Concepts¶
Pricing Matrix¶
The PricingMatrix is the central data structure for quote calculations. It accumulates:
- Base premiums and items
- Factors (multiplicative adjustments)
- Discounts (gross, net, internal, item-level)
- Add-ons (additional charges)
- Tax, duty, IPT (insurance premium tax)
- Commission and fees
All pricing functions operate on the PricingMatrix environment variable.
Ledger¶
The Ledger tracks all financial transactions for audit and reporting:
- Each calculation creates ledger entries
- Maintains transaction history
- Supports reversals and adjustments
The ledger is automatically populated when using $CalculatePremiumAdditive.
Underwriter Decisions¶
The Underwriter subsystem handles risk assessment:
- Automated accept/decline logic
- Multi-level referral workflows
- Decision tracking with authority levels and codes
- Endorsement management
Quote Public Data¶
The QuotePublicData structure serves as the external quote contract:
- Centralized quote information for external consumption
- Policy dates, financial data, and features
- Underwriter decisions and quote status
- Automatically populated by quote functions
Environment Variables¶
Quote Extension functions expect these environment variables:
| Variable | Type | Description |
|---|---|---|
PricingMatrix |
Object | Central pricing structure |
Ledger |
Array | Transaction audit trail |
Output |
Object | Final quote output structure |
QuotePublicData |
Object | External quote data contract |
QuoteStatus |
String | Validated quote status |
ProductDetails |
Object | Product configuration |
HasActiveFinanceAgreement |
Boolean | Finance status flag |
UnderwriterDecisions |
Array | Underwriting decision history |
InceptionDate |
String | Policy inception date (ISO 8601) |
ExpiryDate |
String | Policy expiry date (ISO 8601) |
PolicyDurationInDays |
Number | Policy duration in days |
These are automatically managed by the extension functions.
Examples¶
Explore practical examples showing complete workflows:
- Basic Quote Calculation - Simple new business quote
- Midterm Adjustments - Policy changes and MTAs
- Cancellation Scenarios - Full, pro-rata, and no-refund cancellations
- Underwriting Workflow - Automated decision-making
Reference¶
- Function Cheat Sheet - Quick reference for all 44 functions
- Core EverSharp Documentation - Base language reference
Integration with EverSharp Core¶
Quote Extension is built on EverSharp's Callable interface, making all functions:
- Composable - Chain with core EverSharp functions
- Testable - Unit test with EverSharpRunner
- Extensible - Add your own domain-specific functions
See the EverSharp Extension Functions Guide for creating custom functions.
Support¶
For issues, questions, or contributions:
- Repository: Azure DevOps - Elements.Libs.EverSharpQuoteExtension
- Core EverSharp: Documentation
- Team: Eversure Elements Team