1. Ledger System Overview
1.1 TigerBeetle — Immutable Double-Entry Ledger
OpenInsure uses TigerBeetle as its financial ledger. TigerBeetle provides:- Immutability — transactions cannot be modified or deleted after posting; corrections are made through reversing entries
- Double-entry accounting — every transaction debits one account and credits another; the ledger always balances
- High-throughput — designed for financial-grade performance; suitable for real-time premium posting
- Audit trail — complete transaction history is preserved permanently
Caution: Never attempt to modify a TigerBeetle entry directly. All corrections must be made through a reversing entry paired with a correcting entry. Contact engineering if you encounter a ledger discrepancy that cannot be resolved through standard reversal procedures.
1.2 Account Code Structure
All accounts follow the naming convention:{entity_type}:{entity_id}:{account_type}
| Account Type | Code Prefix | Description |
|---|---|---|
| Premium receivable | ar: | Amounts due from policyholders or producers |
| Premium payable to carrier | ap:carrier: | Amounts owed to underlying carriers |
| Commission payable | ap:commission: | Commission amounts owed to producers |
| Trust / fiduciary | trust: | Segregated trust funds (never commingled) |
| Operating | operating: | MGA operating funds |
| Premium tax payable | tax:premium: | State premium taxes accrued but not remitted |
| Surplus lines tax payable | tax:sl: | Surplus lines taxes accrued but not remitted |
1.3 Core Accounting Entries
| Transaction | Debit | Credit |
|---|---|---|
| New policy bound (direct bill) | ar:{insured_id}:receivable | trust:{state}:premium |
| Premium receipt from policyholder | operating:bank | ar:{insured_id}:receivable |
| Transfer premium to carrier | ap:carrier:{carrier_id} | trust:{state}:premium |
| Carrier payment received | operating:bank | ap:carrier:{carrier_id} |
| Commission earned | trust:{state}:premium | ap:commission:{producer_id} |
| Commission paid to producer | ap:commission:{producer_id} | operating:bank |
| Return premium (cancellation) | trust:{state}:premium | ar:{insured_id}:receivable (credit) |
2. Premium Receivable Workflow
2.1 Invoice Generation
Invoices are generated automatically upon policy binding or endorsement:- Policy binding event triggers invoice creation in the billing module 2. Invoice is posted to
TigerBeetle: Debit
ar:{insured_id}:receivable, Credittrust:{state}:premium3. Invoice is emailed to the insured (direct bill) or producer (agency bill) within 15 minutes of binding 4. Invoice appears on the portal for the insured or producer to view and pay
2.2 Payment Receipt and Posting
- Payment received via ACH, credit card, or check 2. Payment is matched to the open invoice
automatically (by policy number, amount, and due date) 3. Upon match, TigerBeetle entry: Debit
operating:bank, Creditar:{insured_id}:receivable4. Invoice is marked Paid in the billing system 5. Confirmation email is sent to the payor 6. Unmatched payments are held in a suspense account and must be resolved within 2 business days
2.3 Suspense Account Resolution
Payments that cannot be auto-matched (amount discrepancy, no matching invoice) are posted tosuspense:unmatched. Finance must resolve all suspense items within 2 business days:
- Contact payor to confirm intent and correct allocation
- Apply to correct invoice
- Issue refund if payment is in error
- Document resolution in the billing system notes
3. Agency Bill vs. Direct Bill
3.1 Direct Bill
Under direct bill, OpenInsure invoices the insured directly and collects premium. The producer receives commission after premium is collected. Advantages:- MGA controls cash flow
- Reduces producer credit risk
- Preferred for standard commercial accounts
- Invoice insured → post AR
- Receive premium → clear AR, fund trust
- Remit net-of-commission to carrier
- Pay commission to producer on statement date
3.2 Agency Bill
Under agency bill, OpenInsure invoices the producer, who collects from the insured and remits net premium to the MGA. Advantages:- Producer manages the insured relationship
- Appropriate for large, broker-managed accounts
- Invoice producer → post AR (producer account)
- Receive premium from producer → clear producer AR, fund trust
- Remit net-of-commission to carrier
- Pay commission to producer on statement date (or allow to net from remittance, per agreement)
Caution: Agency bill producers have 30-day payment terms. If an agency bill producer has not remitted by day 30, issue a non-pay notice. If not remitted by day 45, initiate policy cancellation for non-payment. Do not allow producer accounts receivable to age beyond 60 days without escalating to the Finance Director.
3.3 Determining Bill Type
Bill type is set at the producer level in the agency agreement. Some producers have both direct-bill and agency-bill authority for different programs. The billing module auto-selects the bill type based on the policy’s program and producer combination.4. Trust Account and Fiduciary Fund Requirements
4.1 Why Trust Accounting Matters
Premium collected by an MGA on behalf of carriers is fiduciary money — it belongs to the carrier, not to OpenInsure. Commingling fiduciary funds with operating funds is:- A violation of state insurance laws
- Grounds for license revocation
- Potentially criminal fraud
4.2 Trust Account Structure
| Account | Purpose | Signatories |
|---|---|---|
trust:ga:premium | Georgia premium trust | Finance Director + CEO |
trust:sc:premium | South Carolina premium trust | Finance Director + CEO |
trust:nc:premium | North Carolina premium trust | Finance Director + CEO |
trust:tn:premium | Tennessee premium trust | Finance Director + CEO |
trust:va:premium | Virginia premium trust | Finance Director + CEO |
trust:sl:premium | Surplus lines fiduciary | Finance Director + CEO |
Caution: Trust accounts require two authorized signatories for disbursements above $5,000. This is both a legal requirement and an internal control. No single individual may authorize trust disbursements above the threshold.
4.3 Trust Account Rules
- Never commingle — no operating expenses, payroll, or non-fiduciary payments from trust accounts
- No overdraft — trust accounts must never go negative; fund the trust before writing carrier remittance checks
- Minimum balance — maintain a minimum balance equal to unearned premium for all in-force policies in each state
- Interest — interest earned on trust funds belongs to the carrier per most state laws and agency agreements; credit to carrier remittance
- Reconciliation — reconcile trust accounts daily (see §7)
4.4 State-Specific Trust Requirements
| State | Statutory Citation | Key Requirement |
|---|---|---|
| Georgia | O.C.G.A. § 33-23-91 | Segregated trust required; annual certification |
| South Carolina | S.C. Code § 38-47-60 | Fiduciary account required |
| North Carolina | N.C.G.S. § 58-33-82 | Premium trust required |
| Tennessee | T.C.A. § 56-6-154 | Fiduciary account required |
| Virginia | Va. Code § 38.2-1833 | Premium trust required |
5. Non-Pay Notice Workflow and Cancellation Processing
5.1 Non-Pay Timeline
| Day | Action |
|---|---|
| Payment due date | Invoice shows past due in system |
| +3 days | Automated reminder email to payor |
| +10 days | Notice of Intent to Cancel generated and mailed (certified) |
| Per notice date | Cancellation effective if not paid |
| After cancellation | Return premium calculated and credited |
5.2 Non-Pay Notice Requirements
The Notice of Intent to Cancel must:- State the policy number and amount due
- State the cancellation effective date
- Be mailed by first class mail (or certified where required by state)
- Be sent to the named insured’s address of record
5.3 Return Premium on Cancellation
Upon cancellation for non-payment:- Calculate return premium:
unearned_premium = policy_premium × (days_remaining / policy_term_days) - Apply short-rate penalty if specified in the policy (typically 10% of return premium)
- Offset against any outstanding balance owed by the insured
- Issue net return premium by ACH or check within 10 business days of cancellation effective date
- Post TigerBeetle reversal entries for unearned premium
6. Commission Accounting and Producer Statements
6.1 Commission Accrual
Commission is accrued at policy binding:- Debit
trust:{state}:premium(reduces premium due to carrier by commission amount) - Credit
ap:commission:{producer_id}(liability for commission owed)
6.2 Statement Preparation
Producer commission statements are generated on the 7th of the following month for the prior month’s activity:- Pull all bound policies, endorsements, and cancellations for the statement period 2. Calculate gross commission earned at policy-level commission rates from the agency agreement 3. Apply chargebacks for cancelled policies (pro-rata) 4. Net against any outstanding balances (e.g., return premiums already paid) 5. Generate statement PDF and deliver to producer portal by the 7th
- Process ACH payment on the 15th of the month 7. Post payment: Debit
ap:commission: {producer_id}, Creditoperating:bank
6.3 Commission Dispute Resolution
Producers must dispute commissions within 60 days of the statement date. Upon receiving a dispute:- Pull the billing detail for the disputed policy or policies
- Verify the commission rate against the executed agency agreement
- Calculate the correct commission amount
- Issue a correcting entry or credit memo in the next statement if an error is confirmed
- Respond to the producer in writing within 10 business days of receiving the dispute
7. Reconciliation Procedures
7.1 Daily Reconciliation
Every business day, before close of business:- Bank reconciliation — match all bank receipts and disbursements to TigerBeetle entries; all items must clear within 2 business days 2. Trust account balance check — verify trust account balance ≥ unearned premium reserve 3. Suspense account review — identify and resolve all items posted to suspense 4. Failed payment review — ACH returns and failed card charges must be identified and reversed from the ledger the same day
7.2 Monthly Reconciliation
By the 5th business day of the following month:- Reconcile all TigerBeetle accounts to bank statements
- Reconcile premium receivable aging report to the ledger
- Reconcile commission payable aging to the ledger
- Prepare trust account reconciliation certification (see §7.3)
- Prepare monthly management report for Finance Director
7.3 Trust Account Reconciliation Certification
Many states require a monthly certification that trust accounts are properly funded. Complete the certification by the 5th business day of the following month:- Calculate total unearned premium for all in-force policies in the state
- Confirm trust account bank balance ≥ unearned premium reserve
- Complete the state-specific certification form
- File with the state DOI if required by the applicable state
7.4 Quarterly Reconciliation
By the 15th day of the month following each quarter:- Reconcile all premium tax accruals against state filings and payments
- Reconcile reinsurance cessions and receivables
- Prepare quarterly financials for carrier submission (bordereaux)
- Review and update loss reserves with input from claims
8. Statutory Financial Exhibit Preparation
8.1 Annual Statement
OpenInsure files statutory financial exhibits with the state DOI(s) of domicile annually. Filing deadline is March 1 for the prior calendar year. The annual statement includes:- Balance Sheet (Assets, Liabilities, and Surplus)
- Income Statement (Underwriting, Investment, and Other Income)
- Cash Flow Statement
- Schedule P (Claims Development) — completed with input from claims
- Schedule F (Reinsurance) — completed with input from reinsurance team
- Premium and loss exhibits by state and line
8.2 Quarterly Statutory Reporting
Quarterly statutory reports are filed by:- Q1 (March 31): May 15
- Q2 (June 30): August 15
- Q3 (September 30): November 15
- Annual (December 31): March 1 (following year)
8.3 Financial Exhibit Preparation Process
- Pull trial balance from TigerBeetle as of the reporting date 2. Prepare statutory basis adjustments (GAAP to statutory differences) 3. Complete NAIC blank exhibits using the statutory trial balance 4. Reconcile Schedule P with claims department reserve data 5. Reconcile Schedule F with reinsurance team cession records 6. Submit draft to Finance Director for review 7. Obtain Finance Director and CEO signatures 8. File with applicable state DOI(s) by the deadline
9. State Premium Tax Filing
9.1 Premium Tax Overview
Premium taxes are levied by states on the gross premiums written for risks in that state. As an MGA, we collect premium taxes from policyholders and remit to the state on the carrier’s behalf (or on our own behalf, depending on the program structure).9.2 Premium Tax Rates by State
| State | Rate | Filing Frequency | Due Date |
|---|---|---|---|
| Georgia | 2.0% | Annual | March 1 |
| South Carolina | 1.25% | Annual | March 1 |
| North Carolina | 1.9% | Annual + quarterly installments | Varies |
| Tennessee | 2.5% | Annual + quarterly installments | Varies |
| Virginia | 2.25% | Annual | March 1 |
| Florida | 1.75% | Quarterly | 45 days after quarter end |
Caution: Premium tax rates are set by statute and change periodically. Verify current rates with the state DOI or a qualified insurance tax advisor before filing. Use incorrect rates results in penalties and interest.
9.3 Premium Tax Accrual and Payment
Premium taxes accrue at policy binding:- Calculate tax:
gross_premium × state_tax_rate - Post accrual: Debit
trust:{state}:premium, Credittax:premium:{state} - At filing time, remit: Debit
tax:premium:{state}, Creditoperating:bank - File the state return form by the applicable deadline
10. Surplus Lines Tax Remittance
10.1 Surplus Lines Tax Overview
Surplus lines taxes apply to non-admitted placements and are typically higher than admitted premium taxes (3–6% vs. 1–2.5%). The surplus lines licensee (typically the retail broker) is responsible for remittance in most states; the MGA may be responsible in other structures.10.2 Surplus Lines Tax Tracking
For each surplus lines placement:- Identify the applicable state and tax rate
- Calculate tax on gross premium (including policy fees; excluding stamping office fees)
- Accrual: Debit
trust:sl:premium, Credittax:sl:{state} - Track per-state tax obligations in the surplus lines tax register
- Remit per state schedule or quarterly per state stamping office requirements
10.3 Stamping Office Filing
States with stamping offices require surplus lines policies to be filed with the stamping office within a specified number of days of binding (typically 30–60 days). Track filing deadlines in the compliance calendar.11. Reinsurance Accounting
11.1 Reinsurance Overview
OpenInsure cedes a portion of its assumed risk to reinsurers under quota share and excess of loss treaties. Reinsurance accounting records:- Ceded premium — portion of gross premium paid to reinsurers
- Ceded losses — portion of paid claims recovered from reinsurers
- Reinsurance receivable — amounts owed to us by reinsurers on paid losses
- Funds withheld — premium held by the ceding party (us) instead of remitting to reinsurer
11.2 Quota Share Treaty Accounting
Under a quota share treaty, a fixed percentage of premium and losses are ceded:| Transaction | Debit | Credit |
|---|---|---|
| Cede premium to reinsurer | trust:{state}:premium | ap:reinsurance:{reinsurer_id} |
| Reinsurance commission received | operating:bank | income:reinsurance_commission |
| Cede loss to reinsurer | ar:reinsurance:{reinsurer_id} | expense:ceded_losses |
| Reinsurance loss recovery received | operating:bank | ar:reinsurance:{reinsurer_id} |
11.3 Bordereaux Reporting
Reinsurers receive monthly premium and loss bordereaux. Bordereaux are prepared by the 10th of the following month and include:- Bound policies (named insured, policy number, effective date, gross premium, ceded premium)
- Claims (claim number, date of loss, reserve, payments, ceded reserve, ceded payments)
- Net premium remittance due
11.4 Reinsurance Receivable Monitoring
Monitor reinsurance receivables to ensure timely collection:- Reinsurers should pay claims within 30 days of receiving proof of loss
- Follow up on any reinsurance receivable aged > 45 days
- Escalate to Finance Director and General Counsel for any receivable aged > 90 days
- Assess reinsurer financial strength quarterly — report any reinsurer downgrade below A- to Finance Director
This manual is effective January 1, 2026. All finance procedures are reviewed annually by the Finance Director and audited by the external auditor as part of the annual audit. Questions should be directed to finance@openinsure.dev.