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
invoiceInvoice
Returns
ExpectedTaxableAmount(string)
public decimal ExpectedTaxableAmount(string code)
Parameters
codestring
Returns
GetSubtotals(string)
public IReadOnlyList<TaxSubtotal> GetSubtotals(string code)
Parameters
codestring
Returns
HasCategoryOnAllowances(string)
public bool HasCategoryOnAllowances(string code)
Parameters
codestring
Returns
HasCategoryOnCharges(string)
public bool HasCategoryOnCharges(string code)
Parameters
codestring
Returns
HasCategoryOnLines(string)
public bool HasCategoryOnLines(string code)
Parameters
codestring
Returns
SubtotalCount(string)
public int SubtotalCount(string code)
Parameters
codestring
Returns
SumAllowance(string, decimal?)
public decimal SumAllowance(string code, decimal? rate = null)
Parameters
Returns
SumCharge(string, decimal?)
public decimal SumCharge(string code, decimal? rate = null)
Parameters
Returns
SumLineNet(string, decimal?)
public decimal SumLineNet(string code, decimal? rate = null)
Parameters
Returns
UsesCategory(string)
public bool UsesCategory(string code)
Parameters
codestring