contents.gifindex.gifprev1.gifnext1.gif

Financial Audit Policy Classes

The financial audit process is controlled by 27 rules classes.

CLASS_LABL
Description
Accessorial_Rate
The primary purpose of this class is to rate an accessorial. This class is called by all classes that inherit from the class Rate. This class uses the table that is found in the AR_Table variable and the database found in the variable Rt_Database to lookup the values needed to calculate an accessorial charge. By default, the AR_Table has a value of Services and the Rt_Database has a value of {Vend_labl}.

During the execution of this class, if the AR_Chrg_Difference (the vendor's charge - the rated charge) value is not 0, then this class will attempt to determine the reason for the charge difference. For each possible reason, this class will call the
Accessorial_Rate_Problem class which will determine the master policy for the accessorial.

Based on the master policy, the Accessorial_Rate class will add either a 0, the billed amount, or the rated amount to the variable
AR_FA_Acc_Tot_Amt which is used later in FA_Policy to set the st_FA.Acc_Amt if the master accessorial policy found in FA_Lookup_Acc_Policy is Pay_Rated.

This class is used by both the rating and financial audit process, but is only executed if the rules context includes Rating rules.

This class must be called from a class that inherits from the class "Rate".
Accessorial_Rate_Problem
This class is used to lookup the policy, description, vendor reason, and vendor reason description from the appropriate FA_Policy table. These values are then stored and later used by the FA_Lookup_Acc_Policy class.

This class is called from inside of the Accessorial_Rate class because the FA_Policy records can contain expressions which may need to access values which are only available in the context of the offending accessorial.

Because there can be multiple issues for a single accessorial, the master for the accessorial must be kept. The ARP_Master_policy property is used to find the master policy for each accessorial.

This class is not a standalone class and must be called from Accessorial_Rate or from a class the inherits Accessorial_Rate.
FA
This is the main driver class for the financial audit process. This class can be divided into four major sections.

The first
section (ordinals 1-99) is used to lookup the values stored in the Carrier Audit Profile - Custom Records used in the financial audit process. The property conditions and expression in this section are performed at a class level since their values do not change and are the same for all bills in a batch.

The second section (ordinals 100-200) is used to calculate values needed during the execution of this class and the class called by this class.

The third section is used to call the classes that investigate the possible financial audit issues on a bill.

The forth section is used apply any policies and to call classes that set the st_FA structure variables.
FA_Deny
This class is used to set the st_FA structure variables to the proper values to deny the entire freight bill. This class is designed to be a standalone class that can be called from customer written rules in the rules engine.

Since this class can be called from outside the context of the FA class, it sets the
st_FA.Winner variable to FA_Deny and the st_FA.App_Action to Deny. These values are provided as defaults and are overwritten in the FA_Policy class. This is intentional. The reason the FA_Deny value is not in square brackets is so that Trax Technologies support personnel will know that the winning rule that set the st_FA structure variables was not called from inside of the FA_Policy class.

FA_Deny_Freight
This class is used to set the st_FA structure variables st_FA.Freight_Amt and st_FA.Discount to zero when denying the freight charge on a bill.

This is a standalone class and can be used outside of the financial class structure.
FA_Deny_Tax
This class is used to set the st_FA structure variables st_FA.Tax_Amt and st_FA.Tax_Pcnt to zero when denying the tax charge on a bill.

This is a standalone class and can be used outside of the financial class structure.
FA_Exception
This class is used to set the st_FA structure variables to the corresponding st_Rt structure variables values creating a financial exception. This class is designed to be a standalone class that can be called from customer written rules in the rules engine.
Since this class can be called from outside the context of the FA class, it sets the
st_FA.Winner variable to FA_Exception and the st_FA.App_Action to Exception. These values are provided as defaults and are overwritten in the FA_Policy class. This is intentional. The reason the FA_Exception value is not in square bracket is so that Trax Technologies support personnel will know that the winning rule that set the st_FA structure variables was not called from inside of the FA_Policy class.
FA_Init_Freight
This class is used to set the st_FA structure variables st_FA.Freight_Amt and st_FA.Discount to Null in case some other process has already set these values.

This is a standalone class and can be used outside of the financial class structure.
FA_Init_st_FA
This class is used to set all of the st_FA structure variables to Null in case some other process has already set these values.
This is a standalone class and can be used outside of the financial class structure.
FA_Issues_BOL_Chrg
This class is used to find issues related to differences between a BOL rated charge and the charges billed by the vendor or rated by the system.

This class must be called from the FA Class or a class that inherits from the FA Class.
FA_Issues_BOL_Wt
This class is used to find issues related to differences between a BOL Weight and the invoiced weight by the vendor.
This class must be called from the FA Class or a class the inherits from the FA Class.
FA_Issues_FB
This class is used to find issue that effect the entire freight bill. The freight bill level exceptions are cumulative. More than one of them can be true on the same freight bill transaction.

This class must be called from the FA Class or a class that inherits from the FA Class.
FA_Issues_FB_Chrg
This class is used to find freight, accessorial, and tax charge issues by comparing the rated amounts for each of these categories with the billed amounts for these categories.

This class must be called from the FA Class or a class that inherits from the FA Class.
FA_Lookup_Acc_Policy
This class is used to look up the policies for each accessorial issue found in the variable FA_Acc_Problem_Code_Cum. Unlike the other FA_Lookup classes, this class obtains the exception descriptions, vendor reasons, and vendor reason descriptions from variables set in the Accessorial_Rate_Problem class. The reason for this classes existence has mostly to do with future enhancements.

This class must be called from the FA_Policy Class or a class that inherits from the FA Class.
FA_Lookup_BOL_Rate_Policy
This class is used to look up the policies, exception descriptions, vendor reason, and vendor reason description for each of the BOL rate issues found in the variable FA_BOL_Rate_Problem_Code_Cum. This class also determines which policy takes precedence over the other policies when multiple BOL rate issues exist.

This class must be called from the FA_Policy Class or a class that inherits from the FA Class.
FA_Lookup_BOL_Wt_Policy
This class is used to look up the policies, exception descriptions, vendor reason, and vendor reason description for each of the BOL weight issues found in the variable FA_BOL_Wt_Problem_Code_Cum. This class also determines which policy takes precedence over the other policies when multiple BOL weight issues exist.
This class must be called from the FA_Policy Class or a class that inherits from the FA Class.
FA_Lookup_FB_Policy
This class is used to look up the policies, exception descriptions, vendor reason, and vendor reason description for each of the freight bill level issues found in the variable FA_FB_Problem_Code_Cum. This class also determines which policy takes precedence over the other policies when multiple freight bill level issues exist.
This class must be called from the FA_Policy Class or a class that inherits from the FA Class.
FA_Lookup_Freight_Policy
This class is used to look up the policies, exception descriptions, vendor reason, and vendor reason description for each of the freight charge issues found in the variable FA_Freight_Problem_Code_Cum. This class also determines which policy takes precedence over the other policies when freight multiple charge issues exist.
This class must be called from the FA_Policy Class or a class that inherits from the FA Class.
FA_Lookup_Policy
This class is used to look up the policies from inside of vendor or customer specific FA_Issues classes to determine if the condition to the other lookup classes need to be overridden so that normal policies do not cause a bill to be denied or the rated amount paid when you want the billed amount to be paid.

This class requires some memory variables to be set up in the calling class and assumes that it is being called inside of a Do_While function.

The policies to be looked up must exist inside of the variable FA_LP_Problem_Code_Cum in standard rules engine list format.

The variable FA_LP_Problem_Inx should be initialized to 1 by the classing class.

This class places the winning policy in the variable FA_LP_Master_policy.

The variable FA_LP_Problem_Cnt should contain a numeric value that represents the count of the issues in FA_LP_Problem_Code_Cum variable.

Since this class can be called by several other classes and reinitializes its memory variables every time the FA_LP_Problem_Inx = 1, any reference to the variables set in this class should occur immediately following the Do_While that calls this class.

This class is called in a Do_While as follows:

Do_While('FA_LP_Problem_Inx<=FA_LP_Problem_Cnt','Class_Create("","FA_Lookup_Policy")',{Max cnt - the number 99 is recommended})
This is a standalone class and can be used outside of the financial class structure.
FA_Lookup_Tax_Policy
This class is used to lookup the policies, exception descriptions, vendor reason, and vendor reason description for each of the tax charge issues found in the variable FA_Tax_Problem_Code_Cum. This class also determines which policy takes precedence over the other policies when multiple tax charge issues exist.
This class must be called from the FA_Policy Class or a class that inherits from the FA Class.
FA_Pay_Billed
This class is used to set the st_FA structure variables to the proper values to pay the freight bill billed amount. This class is designed to be a standalone class that can be called from customer written rules in the rules engine.
Since this class can be called from outside the context of the FA class, it sets the
st_FA.Winner variable to FA_Pay_Billed and the st_FA.App_Action to Billed. These values are provided as defaults and are overwritten in the FA_Policy class. This is intentional. The reason the FA_Pay_Billed value is not in square brackets is so that Trax Technologies support personnel will know that the winning rule that set the st_FA structure variables was not called from inside of the FA_Policy class.
FA_Pay_Billed_Freight
This class is used to set the st_FA structure variables st_FA.Freight_Amt and st_FA.Discount to the corresponding billed amounts when paying the billed freight charge on a bill.

This is a standalone class and can be used outside of the financial class structure.
FA_Pay_Billed_Tax
This class is used to set the st_FA structure variables st_FA.Tax_Amt and st_FA.Tax_Pcnt to the corresponding billed amounts when paying the billed tax charge on a bill.

This is a standalone class and can be used outside of the financial class structure.
FA_Pay_Rated
This class is used to set the st_FA structure variables to the proper values to pay the total rated amount on a freight bill. This class is designed to be a standalone class that can be called from customer written rules in the rules engine.
Since this class can be called from outside the context of the FA class, it sets the
st_FA.Winner variable to FA_Pay_Rated and the st_FA.App_Action to Rated. These values are provided as defaults and are overwritten in the FA_Policy class. This is intentional. The reason the FA_Pay_Rated value is not in square brackets is so that Trax Technologies support personnel will know that the winning rule that set the st_FA structure variables was not called from inside of the FA_Policy class.
FA_Pay_Rated_Freight
This class is used to set the st_FA structure variables st_FA.Freight_Amt and st_FA.Discount to the corresponding st_RT variable values when paying the rated freight charge on a bill.

This is a standalone class and can be used outside of the financial class structure.
FA_Pay_Rated_Tax
This class is used to set the st_FA structure variables st_FA.Tax_Amt and st_FA.Tax_Pcnt to the corresponding st_RT variable values when paying the rated tax charge on a bill.

This is a standalone class and can be used outside of the financial class structure.
FA_Policies
This class is the main policy driver class for the FA Class. It has three main sections:

The first section (ordinal 1-999) calls the policy lookup classes for each category of financial audit issue that exist on the freight bill.

The second section (ordinal 1,000 - 2,999) uses the master policy from each category of issue to determine which classes should be called to set st_FA structure variables with the proper values based on the winning policy for each category.

The third section (ordinal 9,000-10,000) performs error check to assure that the values set in st_FA are valid.

This class must be called from the FA_Policy Class or a class that inherits from the FA Class.
FA_Issues_<Owner_Key>
This is a logical class that does not exist in the CLASSDEF.MDB. This class would exist in the customer specific {Owner_Key}.MDB in a valid CLASS_PROPERTIES table. This class may or may not exist. Its main purpose is to provide a predefined place for customer specific FA_Codes and issues to implemented. Unlike the FA_Issue classes found in the CALSSDEF.MDB, this class can add values to any of the predefined problem_cum variables.

It is also possible to modify some of the values set up or calculated in the first two sections of the FA class in order to modify the behavior of the financial audit process. For example, a customer specific issue may have a policy which is Pay_Billed which the customer wants to override all other possible policies. Since the normal behavior of the FA_Policy class is to override Pay_Billed with any other policy, this class can assign values to the main FA class variables that generate the behavior desired. For an example of this see the FDEI.MDB
FA_Issues_<Vend_Labl>
This is a logical class that does not exist in the CLASSDEF.MDB. This class would exist in the vendor specific {vend_labl}.MDB in a valid CLASS_PROPERTIES table. This class may or may not exist. Its main purpose to provide a predefined place for customer specific FA_Codes and issues to implemented. Unlike the FA_Issue classes found in the CALSSDEF.MDB, this class can add values to any of the predefined problem_cum variables.

It is also possible to modify some of the values set up or calculated in the first two sections of the FA class in order to modify the behavior of the financial audit process. For example, a customer specific issue may have a policy which is Pay_Billed which the customer wants to override all other possible policies. Since the normal behavior of the FA_Policy class is to override Pay_Billed with any other policy, this class can assign values to the main FA class variables that generate the behavior desired. For an example of this see the FDEI.MDB
Rate_FB_LN

Rate_FB_LN_With_BP

Rate_Type
This class is used to determine the type of rating used on the workstation. It will be eliminated after all rating is truly class based.

Related Topics


Financial Audit Classes Overview

Overview of the Financial Audit Process

Financial Issue Categories

Financial Action Policies

Financial Policy Application

Financial Policy Hierarchy

Policy Locations

Overriding the Universal Policy of Each Issue

FA_Policy Table Structure

Financial Audit Issue Variables

Carrier Audit Profile

Financial Audit Policy Classes

Execution Order of Classes

Universal FA_CODEs