Table "Tax Detail"
Stores detailed tax rate configurations for specific jurisdictions and tax groups. Defines percentage rates, maximum thresholds, and effective dates for precise tax calculations.
Properties
| Name | Value |
|---|---|
| Caption | Tax Detail |
| DataClassification | CustomerContent |
Fields
| Name | Type | Description |
|---|---|---|
| "Tax Jurisdiction Code" | Code[10] | Tax jurisdiction code this detail applies to. |
| "Tax Group Code" | Code[20] | Tax group code for item categorization and rate determination. |
| "Tax Type" | Option | Type of tax calculation applied (Sales Tax or Excise Tax). |
| "Maximum Amount/Qty." | Decimal | Maximum amount or quantity threshold for tax rate application. |
| "Tax Below Maximum" | Decimal | Tax percentage applied below the maximum threshold. |
| "Tax Above Maximum" | Decimal | Tax percentage applied above the maximum threshold. |
| "Effective Date" | Date | Date when this tax rate configuration becomes effective. |
| "Calculate Tax on Tax" | Boolean | Indicates whether tax is calculated on previously calculated taxes (compound taxation). |
| SystemId | Guid | |
| SystemCreatedAt | DateTime | |
| SystemCreatedBy | Guid | |
| SystemModifiedAt | DateTime | |
| SystemModifiedBy | Guid | |
| SystemCreatedByUserName | Text[50] | |
| SystemCreatedByFullName | Text[80] | |
| SystemModifiedByUserName | Text[50] | |
| SystemModifiedByFullName | Text[80] | |
| SystemRowVersion | BigInteger |
Methods
ValidateTaxSetup
Validates and creates missing tax details for a specific tax area and group combination. Ensures all required tax detail records exist for proper tax calculation.
procedure ValidateTaxSetup(TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; EffectiveDate: Date)
Parameters
| Name | Type | Description |
|---|---|---|
| TaxAreaCode | Code[20] |
Tax area code to validate |
| TaxGroupCode | Code[20] |
Tax group code to validate |
| EffectiveDate | Date |
Effective date for tax detail lookup |
GetSalesTaxRate
Calculates the total sales tax rate for a tax area and group combination. Sums tax rates across all jurisdictions within the specified tax area.
procedure GetSalesTaxRate(TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; EffectiveDate: Date; TaxLiable: Boolean): Decimal
Parameters
| Name | Type | Description |
|---|---|---|
| TaxAreaCode | Code[20] |
Tax area code for rate calculation |
| TaxGroupCode | Code[20] |
Tax group code for rate determination |
| EffectiveDate | Date |
Date for tax rate lookup |
| TaxLiable | Boolean |
Whether the transaction is tax liable |
Returns
| Type | Description |
|---|---|
| Decimal |
Combined tax rate as decimal percentage |
SetSalesTaxRate
Updates the sales tax rate for a specific tax area and group combination. Automatically distributes rate changes across appropriate jurisdictions.
procedure SetSalesTaxRate(TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; NewTaxRate: Decimal; EffectiveDate: Date)
Parameters
| Name | Type | Description |
|---|---|---|
| TaxAreaCode | Code[20] |
Tax area code to update |
| TaxGroupCode | Code[20] |
Tax group code to update |
| NewTaxRate | Decimal |
New tax rate as decimal percentage |
| EffectiveDate | Date |
Effective date for the new rate |
SetSalesTaxRateDetailed
Sets detailed sales tax rates for city, county, and state jurisdictions separately. Allows precise control over multi-level jurisdiction tax rates.
procedure SetSalesTaxRateDetailed(TaxAreaCode: Code[20]; TaxGroupCode: Code[20]; NewCityRate: Decimal; NewCountyRate: Decimal; NewStateRate: Decimal; EffectiveDate: Date)
Parameters
| Name | Type | Description |
|---|---|---|
| TaxAreaCode | Code[20] |
Tax area code to update |
| TaxGroupCode | Code[20] |
Tax group code to update |
| NewCityRate | Decimal |
City-level tax rate |
| NewCountyRate | Decimal |
County-level tax rate |
| NewStateRate | Decimal |
State-level tax rate |
| EffectiveDate | Date |
Effective date for the new rates |