Balance Sheet Certification Rules
The balance sheet certification module allows you to streamline balance sheet reviewing, amending, as well as other processes until its final approval. Rules are defined to govern what is accepted and what needs review.
The modules comes with the following built-in rules:
FCA_BalanceSheet_Certification_Rule_LineItem_AmountLessThan
- checks whether a property of a line item is less than some defined maximum value.FCA_BalanceSheet_Certification_Rule_LineItem_DateInRange
- checks whether a date property is within a range of dates.FCA_BalanceSheet_Certification_Rule_LineItem_DateLaterThan
- checks whether a date property is later than a specific date.FCA_BalanceSheet_Certification_Rule_LineItem_HasPropertyValueFromList
- checks whether a property has a valid value as specified in the list.FCA_BalanceSheet_Certification_Rule_LineItem_HasAttachment
- checks whether a line item has an attachment.FCA_BalanceSheet_Certification_Rule_LineItem_HasPropertyValue
- checks whether a specific property of a line item has a value (supports exact match and GLOB patterns).FCA_BalanceSheet_Certification_Rule_LineItem_IsPropertySet
- checks whether a line item has a property set.
You define custom rules by duplicating one of these and amending the source code. Note that arguments must match the data type. When you call MAX(ColumnName, Max)
, for example, then ColumnName
must be a String and Max
a Number parameter.
The general syntax is as follows:
import com.redwood.scheduler.custom.fca.balancesheet.rules.Rule;
import com.redwood.scheduler.custom.fca.balancesheet.rules.Rules;
{
Rule rule = Rules.<rule>(<param1, param2...);
Rules.processColumnCheck(rule, jcsJobContext, null, null);
}
Rule | Description |
---|---|
AND(Rule Rule1, Rule Rule2) | Rules 1 and 2 must pass for the rule to pass. |
OR(Rule Rule1, Rule Rule2) | Rules 1 or 2 must pass for the rule to pass. |
NOT(Rule Rule1) | Rule passes if the specified rule does not pass. |
MAX(String ColumnName, BigDecimal Max) | Compare a column value to a maximum number. |
MIN(String ColumnName, BigDecimal Min) | Compare a column value to a minimum number. |
RANGE(String ColumnName, BigDecimal Min, BigDecimal aMax) | Check if a value is within a specified range. |
CONTAINS(String ColumnName, BigDecimal[] Contains) | Check if column contains a number. |
ISNUMBER(String ColumnName) | Check if a column value is a number. |
EQUALS(String ColumnName, String Value) | Check if the column value equals a specific string. |
EMPTY(String ColumnName) | Check if a column value is empty. |
LIKE(String ColumnName, String Value) | Check if specific string value is in a column value. |
DATETHRESHOLD(String ColumnName, DateTimeZone Compare) | Check if a date is before a date threshold. |
DATERANGE(String ColumnName, DateTimeZone Min, DateTimeZone Max) | Check if a date is in a date range. |
INLIST(String ColumnName, String Compare) | Check if a column value matches any value is a comma separated list. |
Example
This rule can be used to check if, for example, a line item has a cost center and its amount is less than a specified amount.
import com.redwood.scheduler.custom.fca.balancesheet.rules.Rule;
import com.redwood.scheduler.custom.fca.balancesheet.rules.Rules;
{
Rule rule1 = Rules.MAX(PROPERTY, MAX_AMOUNT);
Rule rule2 = Rules.EQUALS(PROPERTY2, VALUE);
Rule rule = Rules.AND(rule1, rule2);
Rules.processColumnCheck(rule, jcsJobContext, null, null);
}
Account Rules
Name | Description |
---|---|
Account Rule Name | Account Rule Description |
AlwaysCheck | BSC account rule : Always send to BSC Item Cert. |
Amortization | Account Rule Amortization : check against Amortization Table |
BankRec | Account Rule Balance : Check against BankRec |
Customer | Account Rule Customer Balance : Check against F.23 |
DoNotCheck | BSC account rule : never send to BSC Item Cert. |
Excel_BankStatement | Account Rule BankStatement |
MinimalActivity | BSC account rule check if Account had minimal activity: Balance and Movement < threshold |
NoRule-NewAccount | New account : mark as not certified |
NotChanged | Account Rule NotChanged : check against Account Rule: Closing Balance has not changed since account last certified |
PercentChanged | Account Rule PercentChanged : Certify if current month balance change is < X% of cumulative balance |
PeriodBalance | Account Rule PeriodBalance : Certify if current month balance doesn't change from the previous month |
RemoveFromMaster | AccountRule : Removed (non used) account info from MasterList |
Vendor | Account Rule Vendor Balance : Check against F.42 |
ZeroBalance | BSC AccountRule ZeroBalance : YTD of the Accum balance equals to zero |
Line Item Rules
Name | Description |
---|---|
Line Item Rule | Line Item Rule Desciption |
Aging | Aging : Correct if < AgingDays |
Aging_Amount_DocTypeList_Clearing | Aging : (Amount (ABS) above): DocTypeList_Clearing |
Amount | Amount (ABS) above |
Amount_Clearing | Amount (ABS) above or Clearing Doc missing |
Amount_ClearingDoc | Amount (ABS) above or Clearing Doc missing and has DocType |
Clearing | Clearing Doc missing |
Clearing_DocTypeList | Correct if Cleared or DocTypeList |
DocTypeList | Correct if DocType in List |
DoNothing | Do Nothing : Mark as Unanalyzed |
NoLineItem | Do not retreive LineItems |
NoRule | No Rule : All Unanalyzed |
UserId | Correct if User Id is in List |
UserId_DocTypeList | Correct if User Id is in List and has Doc Type |
See Also
financeTopic