﻿---
title: clsInvoice
summary: API reference for clsInvoice.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
---

# clsInvoice

Read-only invoice snapshot implementing `IInvoiceInfo`; retrieved from Oracle by invoice number, latest policy number, or account number with a bill date. Exposes billing date, due date, activity amount, invoice amount, pay-in-full amount, and mail status for billing presentment workflows.*

## Purpose
- Provides read-only access to a billing invoice record retrieved from Oracle, including dates, amounts, and mail status.*
- Implements `IInvoiceInfo` for use by billing presentment and reporting consumers that require invoice data.*

## Context
- Namespace: `SAIF.Business.Policy.Premium`
- Assembly/package: `SAIF.Business.Policy.Premium`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| SourceSystemCode | `Public ReadOnly Property SourceSystemCode As String Implements IInvoiceInfo.SystemSourceCode` | The source system code identifying the system of origin for this invoice.* |
| InvoiceNumber | `Public ReadOnly Property InvoiceNumber() As Decimal Implements IInvoiceInfo.InvoiceNumber` | The Oracle-assigned numeric identifier for this invoice. |
| PolicyNumber | `Public ReadOnly Property PolicyNumber() As Decimal` | The numeric policy number identifying the policy to which this record belongs. |
| CreateDate | `Public ReadOnly Property CreateDate() As Date Implements IInvoiceInfo.CreateDate` | The timestamp at which this record was created in the Oracle database. |
| CreateUser | `Public ReadOnly Property CreateUser() As String` | The username of the account that created this record. |
| IsQuoteInvoice | `Public ReadOnly Property IsQuoteInvoice As Boolean` | Returns True when this invoice was generated for a quote rather than a bound policy.* |
| BillDate | `Public ReadOnly Property BillDate() As Date Implements IInvoiceInfo.BillDate` | The date on which this invoice was billed. |
| AccountNum | `Public ReadOnly Property AccountNum() As String` | The account number associated with this invoice.* |
| BillDueDate | `Public ReadOnly Property BillDueDate() As Date Implements IInvoiceInfo.BillDueDate` | The date by which payment for this invoice is due. |
| NewActivityAmount | `Public ReadOnly Property NewActivityAmount() As Decimal Implements IInvoiceInfo.NewActivityAmount` | Exposes the new activity amount used by this cls Invoice.* |
| InvoiceAmount | `Public ReadOnly Property InvoiceAmount() As Decimal Implements IInvoiceInfo.InvoiceAmount` | The total dollar amount of this invoice. |
| IsInvoiceMailed | `Public ReadOnly Property IsInvoiceMailed() As Boolean Implements IInvoiceInfo.IsInvoiceMailed` | Returns True when this invoice has been flagged as mailed to the insured.* |
| IsDueOnReceipt | `Public ReadOnly Property IsDueOnReceipt() As Boolean Implements IInvoiceInfo.IsDueOnReceipt` | Returns True when this invoice is due on receipt rather than on a scheduled due date.* |
| OutputLogSeqNum | `Public ReadOnly Property OutputLogSeqNum() As Decimal` | The output log sequence number tracking the print/mail run that generated this invoice.* |
| PayInFullAmount | `Public ReadOnly Property PayInFullAmount() As Decimal Implements IInvoiceInfo.PayInFullAmount` | The dollar amount required to pay this invoice in full.* |
| GetInvoice | `Public Shared Function GetInvoice(ByVal inDataportal As IDataPortalInfo, inInvoiceNumber As Decimal) As clsInvoice` | Loads a cls invoice that matches the supplied lookup criteria. |
| GetLatestInvoice | `Public Shared Function GetLatestInvoice(ByVal inDataportal As IDataPortalInfo, inPolicyNumber As Decimal) As clsInvoice` | Factory method: retrieves the most recent `clsInvoice` record from Oracle matching the supplied criteria and returns a populated, MarkOld'd instance.* |
| GetLatestInvoiceByAccount | `Public Shared Function GetLatestInvoiceByAccount(ByVal inDataportal As IDataPortalInfo, accountNum As String, inBillDate As Date) As clsInvoice` | Factory method: retrieves the most recent `clsInvoice` record from Oracle matching the supplied criteria and returns a populated, MarkOld'd instance.* |
## Inherited public members

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Rules | `Property Rules As clsRulesManager` | Framework rules manager used to register, evaluate, and surface broken rules on the object.† | `SAIF.Framework.Core — clsBusinessBase` |
| BeginEdit | `Sub BeginEdit()` | Starts an n-level edit session so callers can stage changes.† | `SAIF.Framework.Core — clsBusinessBase` |
| CancelEdit | `Sub CancelEdit()` | Rolls back the active edit session.† | `SAIF.Framework.Core — clsBusinessBase` |
| ApplyEdit | `Sub ApplyEdit()` | Commits the active edit session.† | `SAIF.Framework.Core — clsBusinessBase` |

## Behavioral notes
- Source file: `Business\SAIF.Business.Policy.Premium\Billing\clsInvoice.vb`.

## Constraints and usage notes
- Read-only; instances cannot be saved through this type. The factory method `GetLatestInvoiceByAccount` requires a matching `BillDate` to locate the invoice.*


> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `Business\SAIF.Business.Policy.Premium\Billing\clsInvoice.vb`