JExpr field properties

The following fields are used to configure the JExpr properties of the flexible importer.

Skip expression
Values: true, false
Purpose: Specifies header and footer rows of the CSV file. When true the entry is skipped.
Example:
$1 != "Charge"
Column 1 is not equal to "Charge". Any rows that do not contain the text "Charge" in the column 1 cell will be skipped.
Item validity expression
Values: true, false
Purpose: Used to detect malformed rows. When false the entry is not valid
Example:
$$ == 4
There must be exactly 4 columns for an item row.
Account/Subscription USN
Format: String
Purpose: Specifies the account or subscription that this charge will be recorded for.
Example:
$1
The account/subscription USN is the first column.
Item code
Format: String
Purpose: Indicates what is being purchased. This should be the same code as shown in Invoice items menu in Configuration and Tools.
Example:
$2
The item code is the second column.
Freeform text field to describe the item.
Format: String
Purpose: This is a freeform text field to describe the item. If unspecified, then the item description, as shown in Invoice items menu in Configuration and Tools, for this item is used.
Example:
$3
The item description is the third column.
Start date
Format: Java date (java.util.Date)
Purpose: Specifies the start date of item, inclusive. If unspecified, then the local system date at which each item is imported will be used.
Example:
parsers.parseDate("yyyy-MM-dd", $4)
The start date is given as the fourth column, in ISO 8601 format.
End date
Format: Java date (java.util.Date)
Purpose: Specifies the end date of item, inclusive. If unspecified, then the start date will be used.
Example:
parsers.parseDate("yyyy-MM-dd", $5)
The end date is given as the fifth column, in ISO 8601 format.
Item quantity
Format: BigDecimal
Purpose: Specifies item quantity. If unspecified, 1 will be presumed.
Example:
$6::BigDecimal
The item quantity is given as the sixth column.
Number of instances
Format: Integer
Purpose: Specifies item count. If unspecified, then 1 will be presumed.
Example:
$7::Integer
The item count is the seventh column.
Total charge amount
Format: BigDecimal
Purpose: Specifies the total charge amount, excluding tax. If omitted, will be computed as: quantity x item rate.
Example:
$8::BigDecimal
The total charge amount is the eighth column.
Tax calculation mode
Format: String
Purpose: Indicates how the tax component is to be calculated for this item. Should be one of the following options. If unspecified, then Compute is implied.
  • Compute—Smile calculates tax automatically
  • Provide—Use the already-provided value from the Pre-calculated tax amount expression
  • NA—No tax is applicable for this item
Example:
$9
Tax calculation mode is derived from the ninth column.
Pre-calculated tax amount
Format: BigDecimal
Purpose: Specifies the pre-calculated tax amount from external system. Only required if Tax calculation mode is Provide.
Example:
$10::BigDecimal
Pre-calculated tax amount is obtained from the tenth column.
Cost centre
Format: String
Purpose: Specifies the name of cost centre. The cost centre must already exist on the subscription's account. Names are matched case-sensitively. If unspecified, the subscription's default cost centre is used.
Example:
$11
The cost centre is the eleventh column.
Purchase order number
Format: String
Purpose: Specifies the purchase order number to assign for this charge. If unspecified, the subscription's default purchase order is used.
Example:
$12
The purchase order number is the twelfth column.
Office name
Format: String
Purpose: Specifies the name of office location where item was purchased. If unspecified, no office location is recorded for the line item.
Example:
$13
The office name is the thirteenth column.
Raising action
Format: String
Purpose: Indicates how the item is raised. Should be one of the following options. If unspecified, then Defer is implied.
  • Defer—Smile raises an item as a deferred charge on the account
  • Leave_open—Smile raises an item on a new open invoice
  • Close—Smile raises an item on a new closed invoice
Example:
$14
Raising action is derived from the fourteenth colum.
Invoice identifier
Format: String
Purpose: Line items with the same invoice identifier are raised together in the same invoice. Only required if Raising action is Leave_open or Close.
Example:
$14
The invoice identifier is the fourteenth column.