---
title: clsProviderTaxID
summary: API reference for clsProviderTaxID.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Business.View.Provider
reference_type: package
---

# clsProviderTaxID

API reference for clsProviderTaxID.

## Purpose
- Business object representing a single tax ID record registered for a provider (with associated registered name and IRS 1099/W9 tracking fields).
- Has no nested `Criteria`/`IBusinessCriteria` of its own — instances are always loaded from a `clsResultSet.DataRow` supplied by the owning `clsProviderTaxIDCollection`.

## Context
- Namespace: `SAIF.Business.View.Provider`
- Assembly/package: `SAIF.BOF.Business.View.Provider`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| TaxID | `ReadOnly Property TaxID() As String` | Returns the tax identification number. |
| TaxIDDisplay | `ReadOnly Property TaxIDDisplay() As String` | Returns the formatted display description for the tax ID. |
| ProviderID | `ReadOnly Property ProviderID() As Decimal` | Returns the provider this tax ID belongs to. |
| RegisteredName | `ReadOnly Property RegisteredName() As String` | Returns the legal/registered name associated with this tax ID. |
| RegisteredNameUpperCase | `ReadOnly Property RegisteredNameUpperCase() As String` | Returns the upper-case form of the registered name (used for matching/search). |
| EffectiveDate | `ReadOnly Property EffectiveDate() As Date` | Returns the date this tax ID record became effective. |
| ExpirationDate | `ReadOnly Property ExpirationDate() As Date` | Returns the date this tax ID record expires (from the internal `clsSmartDate`). |
| Is1099Reportable | `ReadOnly Property Is1099Reportable() As Boolean` | Returns whether payments to this tax ID are 1099-reportable. |
| W9SentDate | `ReadOnly Property W9SentDate() As Date` | Returns the date a W9 request was sent for this tax ID. |
| W9ReceivedDate | `ReadOnly Property W9ReceivedDate() As Date` | Returns the date the W9 was received back for this tax ID. |
| Address | `ReadOnly Property Address As clsAddress` | Returns the address associated with this tax ID record, assembled from the individual address columns on load. |
| IsExpirationDateNull | `Function IsExpirationDateNull() As Boolean` | Returns whether the expiration date is currently empty. |
| IsW9SentDateNull | `Function IsW9SentDateNull() As Boolean` | Returns whether the W9-sent date is currently empty. |
| IsW9ReceivedDateNull | `Function IsW9ReceivedDateNull() As Boolean` | Returns whether the W9-received date is currently empty. |
| Equals(objA, objB) | `Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Returns whether both objects are `clsProviderTaxID` instances with equal `TaxID`/`ProviderID`. |
| Equals(inObject As Object) | `Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Returns whether `inObject` is a `clsProviderTaxID` with equal `TaxID`/`ProviderID`. |
| Equals(inObject As clsProviderTaxID) | `Overloads Function Equals(ByVal inObject As clsProviderTaxID) As Boolean` | Returns whether `inObject.TaxID = Me.TaxID` **and** `inObject.ProviderID = Me.ProviderID`. |
| GetHashCode | `Overrides Function GetHashCode() As Integer` | Returns `TaxID.GetHashCode()`. |
| ToString | `Overrides Function ToString() As String` | Returns `TaxID`. |

## Behavioral notes
- `Fill` assembles the `Address` property from individual result-set columns (`CityName`, `AddressLine1`-`4`, `StateCode`, `CountryCode`, `ForeignAddressFlag`, `ZipCode`, `ZipCodeExt`), temporarily disabling `ActiveFormating` on the address while the fields are set, then re-enabling it.
- There is no shared `Get...` retrieval function or public constructor on this class; it is always populated via the `Protected Friend Load(inDataPortalInfo, Row)` method, called by `clsProviderTaxIDCollection`'s `AfterRetrieve` for each row of [SQL-018](../../sql/SQL-018-saif-business-view-provider.md).

## Constraints and usage notes
- Instances are constructed only through the `Protected Friend` parameterless constructor together with `Load(...)`; there is no public `New`.

## Inherited members (from clsBusinessBase)

This type inherits the following public surface from clsBusinessBase (`Legacy\BusinessObjectFramework\clsBusinessBase.vb`), in addition to the members listed above:

| Member | Signature | Purpose |
| --- | --- | --- |
| MyGuid | `ReadOnly Property MyGuid() As String` | Returns the internal GUID that uniquely identifies this in-memory object instance. |
| IsNew | `ReadOnly Property IsNew() As Boolean` | Indicates whether the object has not yet been persisted. |
| IsDeleted | `ReadOnly Property IsDeleted() As Boolean` | Indicates whether the object is marked for deletion. |
| IsDirty | `Overridable ReadOnly Property IsDirty() As Boolean` | Indicates whether the object (or a child) has unsaved changes. |
| IsValid | `Overridable ReadOnly Property IsValid() As Boolean` | Indicates whether the object currently has no broken validation rules. |
| ValidateOnDelete | `Property ValidateOnDelete As Boolean` | Controls whether validation rules run before a delete operation. |
| Rules | `ReadOnly Property Rules() As clsRulesManager` | Returns the rules manager that tracks broken rules for this object. |
| ErrorCount | `ReadOnly Property ErrorCount() As Integer` | Returns the number of broken error-severity rules. |
| ErrorMessages | `ReadOnly Property ErrorMessages() As String()` | Returns the text of all broken error-severity rules. |
| WarningCount | `ReadOnly Property WarningCount() As Integer` | Returns the number of broken warning-severity rules. |
| WarningMessages | `ReadOnly Property WarningMessages() As String()` | Returns the text of all broken warning-severity rules. |
| InformationalCount | `ReadOnly Property InformationalCount() As Integer` | Returns the number of broken informational-severity rules. |
| InformationalMessages | `ReadOnly Property InformationalMessages() As String()` | Returns the text of all broken informational-severity rules. |
| BeginEdit | `Sub BeginEdit()` | Begins an editable transaction, snapshotting current field values. |
| CancelEdit | `Sub CancelEdit()` | Rolls back field values to the last `BeginEdit` snapshot. |
| ApplyEdit | `Sub ApplyEdit()` | Commits the current edit transaction, discarding the rollback snapshot. |
| Delete | `Sub Delete()` | Marks the object for deletion on the next save. |
| Save | `Overridable Function Save() As Boolean` | Persists the object (insert, update, or delete) through the BOF data portal, if valid. |
| SaveChild | `Overridable Function SaveChild() As Boolean` | Persists the object as a child of a parent object/collection. |
| Clone | `Function Clone() As Object` | Returns a deep copy of the object. |
| XMLElementName | `Property XMLElementName() As String` | Gets or sets the XML element name used when serializing this object. |
| GetDataset | `Sub GetDataset(ByRef inDS As DataSet)` | Populates a `DataSet` with the object's field values. |
| GetDataset (named table) | `Sub GetDataset(ByRef inDS As DataSet, ByVal inTableName As String)` | Populates a `DataSet` table with the given name with the object's field values. |
| GetReportXML | `Function GetReportXML(ByVal inElementName As String) As String` | Returns an XML fragment representing the object using the supplied element name. |
| GetReportXML (default name) | `Function GetReportXML() As String` | Returns an XML fragment representing the object using the default XML element name. |
| ToXml | `Function ToXml() As String` | Serializes the object to XML using the default element name. |
| ToXml (named tag) | `Function ToXml(ByVal inTagName As String) As String` | Serializes the object to XML using the supplied tag name. |
| PreviousLinkItem / NextLinkItem | `ReadOnly Property PreviousLinkItem() As ILinkItem` / `ReadOnly Property NextLinkItem() As ILinkItem` | Returns the adjacent linked-list item for collection traversal. |
| SetValueOnChange | `Function SetValueOnChange(Of T)(ByRef inFieldValue As T, ByVal inSetValue As T, Optional ByVal inMarkDirty As Boolean = True) As Boolean` | Sets a backing field only when the value changes, optionally marking the object dirty. |

## Sources
- `Business\SAIF.Business.View.Provider\clsProviderTaxID.vb`
