Class VatCategoryIndex

Namespace
EInvoice.Core.Validation
Assembly
EInvoice.Core.dll

Pre-indexed view of invoice items grouped by VAT category code. Built once per validation call; shared across all rules to eliminate repeated collection scans.

public sealed class VatCategoryIndex
Inheritance
VatCategoryIndex
Inherited Members

Methods

Build(Invoice)

Builds a category index from the given invoice in a single pass over each collection.

public static VatCategoryIndex Build(Invoice invoice)

Parameters

invoice Invoice

Returns

VatCategoryIndex

ExpectedTaxableAmount(string)

public decimal ExpectedTaxableAmount(string code)

Parameters

code string

Returns

decimal

GetSubtotals(string)

public IReadOnlyList<TaxSubtotal> GetSubtotals(string code)

Parameters

code string

Returns

IReadOnlyList<TaxSubtotal>

HasCategoryOnAllowances(string)

public bool HasCategoryOnAllowances(string code)

Parameters

code string

Returns

bool

HasCategoryOnCharges(string)

public bool HasCategoryOnCharges(string code)

Parameters

code string

Returns

bool

HasCategoryOnLines(string)

public bool HasCategoryOnLines(string code)

Parameters

code string

Returns

bool

SubtotalCount(string)

public int SubtotalCount(string code)

Parameters

code string

Returns

int

SumAllowance(string, decimal?)

public decimal SumAllowance(string code, decimal? rate = null)

Parameters

code string
rate decimal?

Returns

decimal

SumCharge(string, decimal?)

public decimal SumCharge(string code, decimal? rate = null)

Parameters

code string
rate decimal?

Returns

decimal

SumLineNet(string, decimal?)

public decimal SumLineNet(string code, decimal? rate = null)

Parameters

code string
rate decimal?

Returns

decimal

UsesCategory(string)

public bool UsesCategory(string code)

Parameters

code string

Returns

bool