import * as Enums from '../enums/index'; import { TaxRuleProductDetailModel } from "./TaxRuleProductDetailModel"; /** * Represents a tax rule that changes the behavior of Avalara's tax engine for certain products and/or entity use codes in certain jurisdictions. Avalara supports a few different types of tax rules. For information about tax rule types, see [TaxRuleTypeId](https://developer.avalara.com/api-reference/avatax/rest/v2/models/enums/TaxRuleTypeId/) Because different types of tax rules have different behavior, some fields may change their behavior based on the type of tax rule selected. Please read the documentation for each field carefully and ensure that the value you send is appropriate for the type of tax rule. * @export * @class TaxRuleModel */ export declare class TaxRuleModel { /** * @type {number} * @memberof TaxRuleModel */ id: number; /** * @type {number} * @memberof TaxRuleModel */ companyId?: number | undefined; /** * @type {number} * @memberof TaxRuleModel */ taxCodeId?: number | undefined; /** * @type {string} * @memberof TaxRuleModel */ taxCode?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ stateFIPS?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ jurisName?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ jurisCode: string; /** * @type {Enums.JurisTypeId} * @memberof TaxRuleModel */ jurisTypeId?: Enums.JurisTypeId | undefined; /** * @type {Enums.JurisdictionType} * @memberof TaxRuleModel */ jurisdictionTypeId?: Enums.JurisdictionType | undefined; /** * @type {string} * @memberof TaxRuleModel */ customerUsageType?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ entityUseCode?: string | undefined; /** * @type {Enums.MatchingTaxType} * @memberof TaxRuleModel */ taxTypeId?: Enums.MatchingTaxType | undefined; /** * @type {string} * @memberof TaxRuleModel */ taxTypeCode?: string | undefined; /** * @type {TaxRuleProductDetailModel[]} * @memberof TaxRuleModel */ taxRuleProductDetail?: TaxRuleProductDetailModel[] | undefined; /** * @type {Enums.RateType} * @memberof TaxRuleModel */ rateTypeId?: Enums.RateType | undefined; /** * @type {string} * @memberof TaxRuleModel */ rateTypeCode?: string | undefined; /** * @type {Enums.TaxRuleTypeId} * @memberof TaxRuleModel */ taxRuleTypeId: Enums.TaxRuleTypeId; /** * @type {boolean} * @memberof TaxRuleModel */ isAllJuris?: boolean | undefined; /** * @type {number} * @memberof TaxRuleModel */ value?: number | undefined; /** * @type {number} * @memberof TaxRuleModel */ cap?: number | undefined; /** * @type {number} * @memberof TaxRuleModel */ threshold?: number | undefined; /** * @type {string} * @memberof TaxRuleModel */ options?: string | undefined; /** * @type {Date} * @memberof TaxRuleModel */ effectiveDate?: Date | undefined; /** * @type {Date} * @memberof TaxRuleModel */ endDate?: Date | undefined; /** * @type {string} * @memberof TaxRuleModel */ description?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ countyFIPS?: string | undefined; /** * @type {boolean} * @memberof TaxRuleModel */ isSTPro?: boolean | undefined; /** * @type {string} * @memberof TaxRuleModel */ country: string; /** * @type {string} * @memberof TaxRuleModel */ region?: string | undefined; /** * @type {Enums.Sourcing} * @memberof TaxRuleModel */ sourcing?: Enums.Sourcing | undefined; /** * @type {string} * @memberof TaxRuleModel */ taxTypeGroup?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ taxSubType?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ nonPassthroughExpression?: string | undefined; /** * @type {string} * @memberof TaxRuleModel */ currencyCode?: string | undefined; /** * @type {number} * @memberof TaxRuleModel */ preferredProgramId?: number | undefined; /** * @type {number} * @memberof TaxRuleModel */ uomId?: number | undefined; /** * @type {Date} * @memberof TaxRuleModel */ createdDate?: Date | undefined; /** * @type {number} * @memberof TaxRuleModel */ createdUserId?: number | undefined; /** * @type {Date} * @memberof TaxRuleModel */ modifiedDate?: Date | undefined; /** * @type {number} * @memberof TaxRuleModel */ modifiedUserId?: number | undefined; /** * @type {string} * @memberof TaxRuleModel */ unitOfBasis?: string | undefined; }