Rule Qualifiers

Use this page to specify special conditions that will be tested to determine whether or not this rule can be applied to a transaction (subject to other standard rule-matching criteria as described in Rules). The following conditions can be tested for:

  • Authority Conditions: Test to see if another authority will or will not assess tax for this transaction, or will or will not exempt this transaction from tax.
  • License Conditions: Test to see if this transaction's customers at the Invoice and Line levels have a license that matches or does not match a specified license type.
  • Rule Qualifiers List: Test to see if a specified Input XML element contains or does not contain a value contained in specified Reference Lists.
  • Rule Conditions: Test to see if a specified Input XML element's value meets a specified condition.

A rule qualifier can have multiple conditions and all must match the transaction data for the qualifier to return true. See also the special note on Authority Condition matching below.

This page consists of the following areas and their associated tasks:

Rule Qualifiers List

When you select a rule qualifier from the list, the Selected Rule Qualifier Tasks section is populated with data related to that item.

Each qualifier contains one of the four types listed above, a condition expression to test for, and start and end dates. The condition expression is a concatenation of the various inputs that make up the qualifier as shown in the following four sections.

Authority Conditions

An authority condition tests whether or not a specific authority has or has not already assessed, exempted, not assessed, or not exempted tax using a certain tax type or rate code in this transaction.

For example, a rule qualifier for the Alabama Excise Tax Authority could test to see if the Florida Excise Tax Authority has already assessed a tax type of EXC for this transaction. Or, the rule qualifier could test to see if the Florida Excise Tax Authority has not already assessed that tax type. You can create also test multiple authority conditions for one or more authorities.

Authority conditions match the values contained in <TAX> block(s) generated by the calculation.

  • If a rule qualifier contains a single authority condition, the condition must match the data found in at least one tax block in the transaction. For example, if the condition specifies that an authority charge excise tax, and the transaction results in two <TAX> blocks, at least one of the tax blocks must contain an excise tax result for the evaluated authority.
  • If a rule qualifier contains more than one condition for a single authority, all of those conditions must match the data found in at least one single tax block in the transaction. For example, if two conditions specify that a single authority applied a specific tax type and did not apply a specific rate code, at least one of the tax blocks must contain matching data.
  • If a rule qualifier contains authority conditions involving more than one authority, each authority is evaluated independently as shown in the first two bullets above. As long as each authority evaluates to true individually, the rule qualifier will evaluate to true. If even one authority evaluates false, the rule qualifier will evaluate to false.

Required fields specific to this condition are:

Field

Description

Qualifier Type

Authority condition.

Element

Authority.

Authority

The authority that you want to test.

Operator

Value

APPLIED TAX TYPE or APPLIED RATE CODE

Tax type or rate code has already been applied in this transaction by the evaluated authority. Value is a tax type such as NL, S, ZR.

NOT APPLIED TAX TYPE or NOT APPLIED RATE CODE

This tax type or rate code has not yet been applied in this transaction by the evaluated authority. Value is a rate code associated with the authority such as SR, RR.

IS EXEMPT or NOT EXEMPT

The evaluated authority has or has not fully exempted this transaction, either by certificate or rule. Value is blank.

The following Authority Rule Qualifiers are used only by authorities that have the authority option United States Bracket system set to Yes.

BRACKET_SALES_USE_COMBINED_RATE

The combined rate of all Sales and Use Tax authorities written in decimal form (i.e., 6% is written as .06).

BRACKET_TAXABLE_BASIS_LESS_THAN_OR_EQUAL_TO

Currency value to be compared to line's taxable basis.

BRACKET_TAXABLE_BASIS_GREATER_THAN

Currency value to be compared to line's taxable basis.

License Conditions

A license condition tests whether or not the transaction's customers maintain a Exempt Licenses mapping to a specific license type.

Determination examines any licenses submitted for the customers on the invoice and line levels. If none were submitted with the transaction, Determination queries the database to see if the customers maintain any licenses. If it finds one or more licenses, it determines the associated license type(s) and tries to match the rule qualifier condition.

You can create multiple license conditions for multiple license types.

Required conditions specific to this rule qualifier are:

  • Qualifier Type: License Condition.
  • Element: LICENSE.TYPE.
  • Operator: = .
  • Value: One of the configured license types.

List Conditions

A list condition tests whether or not a specific input XML element contains or does not contain a value found in a specified reference list.

For example, a rule qualifier may specify that the element <LINE.USER_ELEMENT.ATTRIBUTE25> must contain a value found in a reference list named PlantID.

You can create multiple list conditions for each rule qualifier.

Required conditions specific to this rule qualifier are:

  • Qualifier Type: List Condition.
  • Element: The input XML element you want to test.
  • Operator: EXISTS IN (value is in the specified reference list) or NOT EXISTS IN (value is not in the specified reference list).
  • Reference List: One of the configured reference lists associated with this company.

Rule Conditions

A rule condition tests the value of any input XML element based on a variety of available operators. For example, a rule condition could test whether a Country is in or not in the European Union.

You can create multiple rule conditions for multiple elements.

When evaluating the contents of any element defined as a string (such as all custom attributes) using <, <=, >, or >=, Determination will perform a type conversion to attempt to match the type of the left-hand element to that of the right-hand value. This enables you to pass in numbers, dates, or strings in custom attributes and perform comparisons such as <ATTRIBUTE39> >= 2007-03-05, <ATTRIBUTE10> > 200, or <ATTRIBUTE5> = FOO. For more information, see Custom Attributes.

Required conditions specific to this rule qualifier are:

  • Qualifier Type: Rule condition.
  • Element: An input XML element to test.
  • Operator: See the table immediately following this list.
  • Value: A value to test against the value found in the input XML element, using the specified operator.

To match date elements, enter the date using the format YYYY-MM-DD (for example, 2007-04-13). No other format can be evaluated.

Do not attempt to match address elements using codes; use the full name instead. For example, to match the <SHIP_FROM>.<COUNTRY> of France, specify FRANCE, not FR.

Rule Conditions Operator Field Reference

!=

Not equal to.

><

Less than.

<=

Less than or equal to.

=

Equal to. Use this operator for comparisons to boolean elements such as <IS_CREDIT>; valid values are Y, N, true, and false.

>

Greater than.

>=

Greater than or equal to.

IS EU

Tests an element for indication of EU membership.

  • If the element contains a country name, ISO code, or 2- or 3-character country code that maps to an EU member on the specified <INVOICE_DATE> for the transaction, returns TRUE.
  • If the element does not contain a mapping to an EU member, or if <INVOICE_DATE> is null, returns FALSE.

IS GCC

Tests an element for indication of GCC membership.

  • If the element contains a country name, ISO code, or 2- or 3-character country code that maps to an GCC member on the specified <INVOICE_DATE> for the transaction, returns TRUE.
  • If the element does not contain a mapping to a GCC member, or if <INVOICE_DATE> is null, returns FALSE.

IS NOT EU

Tests an element for indication that the country is not an EU member.

  • If the element contains a country name, ISO code, or two- or three-character country code that maps to a non-EU member on the specified <INVOICE_DATE> for the transaction, returns TRUE.
  • If the element does not contain a mapping to a non-EU member, or if <INVOICE_DATE> is null, returns FALSE.

IS NOT GCC

Tests an element for indication that the country is not a GCC member.

  • If the element contains a country name, ISO code, or two- or three-character country code that maps to a non-GCC member on the specified <INVOICE_DATE> for the transaction, returns TRUE.
  • If the element does not contain a mapping to a non-GCC member, or if <INVOICE_DATE> is null, returns FALSE.

IS NULL

Returns TRUE if the element is null, FALSE if the element contains any value.

IS NOT NULL

Returns FALSE if the element is null, TRUE if the element contains any value.

LIKE

NOT LIKE

These operators use wildcard characters to help perform string pattern matching. An implied % wildcard character exists at both the beginning and the end of the string. For example, "LIKE 42" would match 142, 42, and 421, among other strings including the characters "42".

To disable the implied wildcard at the beginning of the string, insert a carat (^). For example, "LIKE ^42" would match 42 and 421, but not 142.

To disable the implied wildcard at the end of the string, insert a dollar sign ($). For example, "LIKE 42$" would match 142 and 42, but not 421.

Using both wildcard characters is exactly the same as using the = operator. For example, "LIKE ^42$" is the same as "= 42".

These operators are only effective for string elements.

Selected Rule Qualifier Tasks

You can use this section to either modify data or add a new rule qualifier.

Add a new rule qualifier

  1. Select Add from the Actions menu.
  2. Enter data using the field reference below.
  3. Click Submit to save your changes.

Modify a rule qualifier

  1. Select the rule qualifier from the Rule Qualifier List.
  2. Modify data using the field reference below.

Delete a rule qualifier

  1. Select the rule qualifier from the Rule Qualifier List.
  2. Select Delete from the Actions menu.
  3. Click OK to confirm the deletion.

Selected Rule Qualifier Field Reference

Field

Req?

Description

Qualifier Type

Y

One of the following:

  • Authority Condition.
  • License Condition.
  • List Condition.
  • Rule Condition.

Element

Y *

An element whose contents will be examined to determine if the rule qualifier should be applied.

* Required if Qualifier Type = Rule Condition or List Condition.

Authority

Y *

Only used for Authority Conditions.

An authority whose tax assessments for this transaction will be examined. To select an authority name, enter a full or partial name in this field and click the Find icon. Select the desired authority from the resulting list.

* Required if Qualifier Type = Authority Condition.

Operator

Y

A comparison operator; see the descriptions of each condition type above for more information.

Value

See description *

One of the following:

  • For Authority Conditions: A tax code.
  • For License Conditions: A License Type.
  • For List Conditions: Not used.
  • For Rule Conditions: A value to compare against a value of the supplied element.

* Optional if Qualifier Type = Authority Condition and Operator is:

  • IS EXEMPT
  • IS NOT EXEMPT

or Qualifier Type = Rule Condition and Operator is:

  • IS EU
  • IS GCC
  • IS NOT EU
  • IS NOT GCC
  • IS NOT NULL
  • IS NULL

or Qualifier Type = List Condition.

Reference List

Y, for List Conditions

Only used for List Conditions.

One of the configured reference lists used to determine whether or not the specified element contains an item found in the list. Required for List Conditions.

Start Date

Y

The effective start date for this rule qualifier. Reference list values for dates must be in YYYY-MM-DD format.

End Date

Opt.

The effective end date for this rule qualifier. If blank, the rule qualifier will not expire. Reference list values for dates must be in YYYY-MM-DD format.