Features

Custom Messages

Custom messages can be created for customers, vendors, inventory items, or workers in EBMS. The custom message can be shown for a single account or for a group of accounts. This feature is used to prompt the user when a document is created, saved, or processed. For example, a custom customer message may be added to prompt the user that only specific types of payments can be received from this customer, or a variety of other custom messages.

This custom message feature can be used to abort a process if the manager wishes to restrict a customer or vendor. Custom messages can be configured to only show based on a specific criteria or expression.

There is an additional feature available only with custom customer or vendor messages. A manager override can be added to the Abort message to allow a user above a specified level to override the Abort message. This feature is great for messages such as credit limit overrides or other manager approval messages.

Some messages may apply only to the billing customer or vendor and others may apply to the shipping account. Review the following steps to configure custom messages:

  1. Open a customer record and click on the Messages tab as shown below:

    A custom message has 4 parts:
    1. When a message is to appear: The When options depend on which type of record for the custom message. For example, the following When options are available for a customer record:

      1. Upon Invoice Process

      2. Upon Invoice Save

      3. Upon New Invoice

      4. Upon Processing Payment

      5. Additional When options may appear depending on the available modules within EBMS. Review Optional EBMS Modules for more details.

        1. Upon New Job

        2. Upon New Proposal

        3. Upon New Task

      6. The When options may vary based on options or account types.

    2. Set the Trigger for setting to determine if only the customer or vendor's billing account triggers the message, only the shipping/bill to account, or if the message is triggered for both accounts. Options include: Bill To/Ship To, Bill To, or Ship To. (Right-click on a column header name to show this column if the Trigger for column is hidden.)

    3. The Response to the message: This option determines the action or result of the message. These options will also determine the message response buttons as well as the default button.   

      1. Abort the Process: This option will only display the OK button and will not allow the user to proceed with the selected process (identified by the When option).

      2. Default to Abort Question: This option adds the "Do you wish to continue?" question and adds both Yes and No buttons. The No button is set as the default button so the process will abort if the user presses the enter key.

      3. Default to Proceed Question: This option also adds the "Do you wish to continue?" question and adds both Yes and No buttons. The Yes button is set as the default button so the process will proceed if the user presses the enter key.

      4. Warning Message: This option will only display the OK button and will proceed when the button is clicked by the user.

    4. Enter a true Expression to trigger the message. Review Database Expressions for technical information.

    5. The Message text is the message that is displayed within the custom message dialog.  Review Message Syntax for instructions to use EBMS placeholders, script functions, and HTML code to create dynamic text.

    6. Set the optional User level to override abort message setting to prompt the system to request a manager override when a message Expression is TRUE. The manager override message will appear only when all the following conditions are TRUE:

      1. The When and Trigger for settings must be TRUE.

      2. The Response must be set to Abort the Process.

      3. The Expression must be TRUE.

      4. The user's security level is below the User Level To Override 'Abort' Message setting. For example, if the User Level to Override Abort Message is set to Manager, then all users with Advanced User setting and lower will see this message.

  2. If the user's security level is equal to or greater than the User Level to Override Abort Message setting, the message will show a standard yes/no option rather than an abort message.

  3. Set the User Level to Override Abort Message to (No Override) to disable the manager override option.

  4. The manager override option to the abort message setting is useful for messages such as an abort message based on the age of the customer's oldest invoice or based on the total outstanding being greater than the credit limit. (See an example of the settings for these common message configurations at the bottom of this section.)

A Custom Message for a Group of Accounts

A custom message can be set for a group of accounts such as all customers within a specific folder. These custom messages are set within the same dialog as folder defaults. Complete the following steps to set global messages:

  1. Select Sales > Options and click on the Customer Categories tab.
  2. Select a specific customer folder group as shown below:
  3. Click on the Edit Defaults button and click on the Messages tab.
  4. Set the messages using the same standard steps as described above.   

Note that the messages within the Messages tab are not filtered down like other messages but are active for all customers within the selected folder.

Go to the Expenses > Options > Vendor Categories tab and select Edit Defaults > Messages tab to set custom messages for a group of vendors.

Go to Labor > Labor Options > Worker Categories tab and select Edit Defaults > Messages tab to set custom messages for a group of workers.

A Custom Message for All Accounts

A custom message can be created for all accounts. For example, by entering a custom message within the Messages tab of Sales > Options, the custom message will appear for ALL customers. Select Sales > Options from the main EBMS Menu and click on the Messages tab to view the following dialog:

Use the same custom message settings as individual customers.

Go to Expenses > Options and click on the Messages tab for custom vendor messages.

Go to Labor > Labor Options and click on the Messages tab for custom worker messages.

The following table lists some custom customer messages that can be added to one or a group of customers. Copy the Description, When, Response, Expression, and Message from the table below, open a specific customer folder or record, and then paste into the custom Messages tab as explained above.

Set the optional Trigger For and User level to override abort message options for any of the following customer messages:

Description Accounts Receivable Credit Limit Reached
When Upon Invoice Request
Response Default to Proceed Question
Expression (arcusdet->bal_0 + arcusdet->pur_1 + arcusdet->pur_2 + arcusdet->pur_3 + arcusdet->pur_4 + arcusdet->pur_5 + arcusdet->pur_6 + arcusdet->pur_7 + arcusdet->pur_8 + arcusdet->pur_9 + arcusdet->pur_10 + arcusdet->pur_11 + arcusdet->pur_12 - arcusdet->pay_1 - arcusdet->pay_2 - arcusdet->pay_3 - arcusdet->pay_4 - arcusdet->pay_5 - arcusdet->pay_6 - arcusdet->pay_7 - arcusdet->pay_8 - arcusdet->pay_9 - arcusdet->pay_10 - arcusdet->pay_11 - arcusdet->pay_12 + arinv->total) > arcust->cred_lim .and. arcust->cred_lim >0 .and. arinv->terms = "2"
Message "This customer has exceeded their credit limit. Do you wish to process it anyway?"
Description Tax Exemption Expired
When Upon Invoice Process
Response Default to Proceed Question
Expression exp_date < date() .and. tax_table = "EXEMPT " .and. dtos( exp_date ) <> " "
Message "The tax exemption for this customer has expired. Do you wish to continue with this invoice?"
Description Credit Balance on Account
When Upon Customer Entry
Response Warning Message
Expression (arcusdet->bal_0 + arcusdet->pur_1 + arcusdet->pur_2 + arcusdet->pur_3 + arcusdet->pur_4 + arcusdet->pur_5 + arcusdet->pur_6 + arcusdet->pur_7 + arcusdet->pur_8 + arcusdet->pur_9 + arcusdet->pur_10 + arcusdet->pur_11 + arcusdet->pur_12 - arcusdet->pay_1 - arcusdet->pay_2 - arcusdet->pay_3 - arcusdet->pay_4 - arcusdet->pay_5 - arcusdet->pay_6 - arcusdet->pay_7 - arcusdet->pay_8 - arcusdet->pay_9 - arcusdet->pay_10 - arcusdet->pay_11 - arcusdet->pay_12) < -.001
Message "This customer has credit balance."
Description Credit Balance on Account
When Upon New Invoice
Response Warning Message
Expression (arcusdet->bal_0 + arcusdet->pur_1 + arcusdet->pur_2 + arcusdet->pur_3 + arcusdet->pur_4 + arcusdet->pur_5 + arcusdet->pur_6 + arcusdet->pur_7 + arcusdet->pur_8 + arcusdet->pur_9 + arcusdet->pur_10 + arcusdet->pur_11 + arcusdet->pur_12 - arcusdet->pay_1 - arcusdet->pay_2 - arcusdet->pay_3 - arcusdet->pay_4 - arcusdet->pay_5 - arcusdet->pay_6 - arcusdet->pay_7 - arcusdet->pay_8 - arcusdet->pay_9 - arcusdet->pay_10 - arcusdet->pay_11 - arcusdet->pay_12) < -.001
Message "This customer has a $" + ltrim( str( ( arcusdet->bal_0 + arcusdet->pur_1 + arcusdet->pur_2 + arcusdet->pur_3 + arcusdet->pur_4 + arcusdet->pur_5 + arcusdet->pur_6 + arcusdet->pur_7 + arcusdet->pur_8 + arcusdet->pur_9 + arcusdet->pur_10 + arcusdet->pur_11 + arcusdet->pur_12 - arcusdet->pay_1 - arcusdet->pay_2 - arcusdet->pay_3 - arcusdet->pay_4 - arcusdet->pay_5 - arcusdet->pay_6 - arcusdet->pay_7 - arcusdet->pay_8 - arcusdet->pay_9 - arcusdet->pay_10 - arcusdet->pay_11 - arcusdet->pay_12 ) * -1, 20, 2 ) ) + " credit on the account."
Description Salesperson Required on Sales Order
When Upon Invoice Save
Response Abort the Process
Expression arinv->salesman = "   "
Message "Please enter a salesperson."
Description Salesperson Required on Proposal
When Upon Proposal Save
Response Abort the Process
Expression arqt->salesman = "   "
Message "Please enter a salesperson under the General Info tab."
Description Show Customer Memo
When Upon New Invoice
Response Warning Message
Expression arcust->memo <> "   "
Message ""+memo
Description Customer Requires Purchase Order
When Upon Invoice Save
Response Default to Abort Question
Expression arcust->chargepymt = .t. .and. ARINV->PO_NO = "   "
Message "There is no PO number in the PO/Job field." + CHR(13) + "This customer requires a PO number before proceeding."
Description Require Today's Date for Invoice
When Upon Invoice Request
Response Default to Abort Question
Expression inv_date <> date()
Message "Invoice date is not for today. Please change date to today."
Description Oldest Overdue Invoice Certain Limit Reached
When Upon New Invoice
Response Abort the Process
Expression arcust->oldest_ovr > 45
Message "This customer has overdue invoices(s) older than 45 days. Do not make a new invoice."

 

Message Options

  • Example of displaying fields: alltrim(F_NAME) + " " + alltrim(L_NAME)

  • Carriage return: + Chr(13) +

Review Message Syntax for instructions to use EBMS placeholders, script functions, and HTML code to create dynamic text.