Registry Global Settings (sys-ffv-global-settings)

Purpose:

This Registry entry is used to control system-wide functionality, as well as in more specific areas.

Usage:

Important Note - User Viewer – Registry Tab:
The Registry tab in the User Viewer may be used to add to / override sys-ffv-global-settings for individual Users. Since these settings are loaded when the user logs on, he or she must log on after User Registry changes are made to see them in effect. The options discussed in this entry may be implemented in the User Viewer if they are only applicable to specific users.

Testing Your Registry Entries:
The system does not verify the validity of registry entries. Be sure to test your registry entries after completing them to verify that they are functioning correctly.

Setting Values are Uppercase-Lowercase Sensitive:
The Setting Value is case-sensitive: be sure that you enter the value exactly as specified in the documentation. If the documentation specifies a value of true, do NOT enter True or TRUE.

Important Fields:

Registry Id: sys-ffv-global-settings

See the Standard Registry section in Registry Viewer for additional Registry Id formats to allow entries for specific Users, Branches, Security, or User Groups to override the main entry. Overrides to global settings may also be specified on the User record’s Registry Tab.

Name:
This field is optional but recommended to describe what this entry is used for.

Global Settings Options by Function/Area:

Account Payable

Require Project Manager Approval of Held Invoices

Vendor Id Auto-sequencing

Branches

Hard Block on Branch Filtering

Branch Prefix on Record Id's

Branch Override from Job

Clients and Site

Client and/Or Site Id Auto-Sequencing: please consult your support rep for details

Conversion

Start Client Site Import - Set Default Directory

COP

Receive Dropshipped COP's in Inventory Receipts and Allow Billing

COP Dropship Options

COP Freight Sales Tax by State

Dispatch

Dispatch Board: Disable Automatic Tech Status Update

Document Management

Allow Pdfs and Dbrs to Coexist

Escalations

Suppress SAM Pro byline message on Escalations

General Ledger

Global Default Account

Set Default Accounting Period on Log In

Set GL Report 3 Lines Per Inch Override

Intercompany Processing

Registry Intercompany Processing

Default Balance Sheet Entity for Journals

Inventory

Inventory Average Cost Calculation

Inventory Price Code Handling

Inventory Revenue Based on Last Cost

Inventory_Cost_and_Revenue : markups based on the Standard Cost; job costing to be obtained from Average or Last cost

Default to Old Material Markup Style

Include Prepaid Tax in Inventory Costs

Invoicing

Registry Avalara Web Services (Sales Tax)

Default to Old Material Markup Style

Jobs

Refine Job Cost Calculation for Labor

Set Debit Account for Fringe Expenses Accrued on Direct Jobs

Prevent Use of Completed Job Cost Codes and Billing Items

Job Id Auto-Sequencing: please consult your support representative for details

Journals

Disable Warning when Journal Entry has been Replaced

Payroll

Use Control Records' GL Entities instead of Employee's for PR Deductions, Earnings, Taxes, etc.

Use Employee Entity for Earnings Not Costed

Burden Allocation for Overhead Labor

Burden Not Costed: Override Job Cost Entity with Employee Entity

Indirect Burden: Override Job Cost Entity with Employee Entity

Indirect Standard Cost: Override Job Cost Entity with Employee Entity

Direct Wages Not Costed: Override Job Cost Entity with Employee Entity

Force Earnings Credit GL Entity to Always Follow Debit GL Entity on PR Accruals

Refine Job Cost Calculation for Labor

Set Debit Account for Accrued Fringes

Job Costing Labor Burden

Alternate Prevailing Wages Calculations

TechAnywhere - Default OH Job Cost Category

Field and Office Hours By Employee Type

Disable Burden Hourly Burden in Job Cost Code

Reclassify Burden Cost for Overhead Labor

Match Job Cost / GL Accrual of Labor

Set Annual Standard Hours for Salaried Employees

Employee Id Auto-Sequencing: please consult your support representative for details

Preventive Maintenance

Default PM Billing GL Income and Accrual Accounts

Enable Master Contract Future PM Schedule Table

Purchase Orders

Purchase Order Id NOT Equal to WO Id when creating WO/PO for Sub

Postpone PO Costing Until AP Vouchering

Quotes

Set Tax Type on Revenue Adjustment Management Fee

Requisitioning/Required Resources

Work Order Required Resources - enable Vendor Defaulting for manual entries and imported budgets

Required Resource / Materials Requisitioning Processing

Import Costs from Job Budget / JCH

Reporting / Printing / XML to PDF

Display Windows Printer Dialog Box Instead of SAMPro Printer List

Select User's Default Printer when Reprinting Saved Report Files

Auto-scroll in SAM Pro Reports

Display Report as PDF

Retain Sent Files When Using XmlToPdf[2019-01-03 Java8-11] or Above

Converting Large Reports To PDF

Report Import: Suppress Field Date Message – Internal Support

Fleetmatics (SageQuest)

 Update Work Orders regardless of Scheduled Date

Sales Tax

Defer Sales Tax Decision

Sales_Tax : Max sales tax per invoice

COP Freight Sales Tax by State

Canadian Invoicing: Exclude Retainage / Hold Backs from Sales Tax Base

Security

Security Override by Job

System

Disable Warning when Journal Entry has been Replaced

Control Maximum Size of Error.log

Pending Changes Handling

Specify Maximum Wait Time when Create PDF Button is Clicked

Enable Id Search Buttons

WebHelp

Cache All Registry Options

Do Not Default Equipment Id in Journals if Work Order Selected

Deny Notes Change/Delete Unless User is Notes Administrator

Save Scanned Documents As PDF's

State / Province: Add Valid State or Province Codes

Column Compression

Disable Special Processing to Alert User Record Cannot be Changed

Log_File Generation

Screen_Appearance – Vertical/Horizontal Grid Lines, Shadow Boxing, Line Numbers

Execute `New Record' on Adding and or Changing Record

Create a Temporary Directory on Local User's System

TechFinder

Display WorkOrder / Zone Count instead of Hours in Techfinder

Registry to add Work Code Certifications to TechFinder

Work Orders / Service Management

Specify Statuses Impacted by WO Invoice Processing

Set Tax Type on Revenue Adjustment Management Fee

Reset Computed Work Order

Release to Tech button To Status

Auto-create Work Order from Web Log

Set Date Work Completed to Today when Work Order Completed

Update WO Escalation Status

Specify ‘Release to Tech’ button From Statuses

Non-Service Compute Invoices (RININV3 and RININV4): Require WO Invoice Ready Flag

Dispatch_Board_Maximum Work Order Rows

Service Recommendations (Work Orders)

Warn User if Tech Status Changed to Completed / Canceled and Quote Scope Lines Open

Disable Use of Equipment Service Task when Master Contract PM's are Created

Warn or Error if Date Scheduled Set to Past Date (WO, New Call, Dispatch, TechFinder)

 

Disable Warning When User Accesses a Journal Entry That Has Been Replaced

When most SAMPro journals are edited, the revised entry's id is appended with a 'tack' number. The original journal entry cannot be edited if it has been replaced with a new entry (with a 'tack' number).  In this release,  user are warned if they access a journal entry which has been replaced.  For example:

WARNING: Purchase Order 123456 has been replaced by 123456-01.

This record cannot be changed.

This warning is designed to prevent the user from wasting time by attempting to make changes to a journal entry record which cannot be saved because it has already been replaced. This new default behavior may be disabled globally or by individual viewer:

Registry Id: sys-ffv-global-settings  (or by individual viewer)

Setting Key: DisableCase6552 Setting Value: true

Registry To Control Maximum Size of Error.log

Extremely large error logs are difficult for programmers to research and time-consuming for support to download.  In this release, after a successful logon if the error.log size is more than the maximum size of 1 gigabyte, then the error.log will be renamed as 'error [date/time stamp].log'. Next, the system will send a new 'error' message to the log stating 'error.log archived as whatever the renamed file name is'.  This will force creation of a new error.log file.  It will also document who did it and what the archived file name is.

The following registry allows the user to override the maximum size for archiving the Error Log.

Id: sys-ffv-global-settings of the registry

Setting Key:  ErrorLogMaxSize  Setting Value: size in bytes

The default is currently 1 Gigabyte (1073741824 bytes).  

Example: Set maximum size of error.log to 250 Meg (a quarter of a gig).  

Id: sys-ffv-global-settings of the registry

Setting Key:  ErrorLogMaxSize  Setting Value: 262144000 

Disable Use of Equipment Service Task when Master Contract PM's are Created

The default behavior for version 9.1 is that, if the PM Task List Id not specified on the PM Master Contract schedule line, the system now looks to see if there is one specified in the Client Site Equipment. This task will be defaulted to the Client Site Equipment PM line and PM Work Order. This enhancement allows for different task lists to be assigned by equipment scheduled.

The following registry may be implemented to disable the current default behavior; if it is set, the Equipment's Service Task will NOT be used if the Master Contract Schedule's Service Task is blank.

Registry Id: sys-ffv-global-settings

Setting Key: disableUseEquipmentHeaderServiceTasks  Setting Value: true  (Default false)

Pending Changes Handling

By default, if user A changes a field and then tabs out of it, a Pending Changes flag is set in the Record Change Log. The following registry may be used to change the pending changes message from an error to a warning, or to disable it altogether.

Registry Id: sys-ffv-global-settings

Setting Key: NotifyPendingChanges    Setting Value: error OR warning OR none (default error)

If this entry is absent or set to error, if user B attempts to change a record currently being changed by user A, he will be prevented from doing so, and a message will be displayed.

If the Setting Value of warning is selected, and user B accesses/changes a record which user A has started to edit, the following message will be displayed, but user B will be allowed to make changes:

WARNING: this record is currently being changed by another user.
User userid started making changes to this record at date - time.

If the Setting Value of none is selected, the Pending Changes flag is never written to the Record Change Log, and this functionality is completely disabled.

Set Tax Type on WO and Quote Revenue Adjustment Management Fees (recommended)

The Revenue Adjustment Table allows you to define Labor, Material, Other and Subcontract adjustments, AND a Management Fee. The posting type of the Management Fee is determined by the Cost Category. By default, the Sales Tax Type of the Management Fee is always set to n/a, regardless whether the Cost Category is taxable or not for the Quote or Work Order's Sales Tax Group.  The following registry setting should be used to set the Revenue Adjustment Tax Types for Management Fees in both the Quote and the Work Order based on the Cost Category / Sales Tax Group.

Registry Id: sys-ffv-global-settings

Setting Key:  SetTaxTypeManagementFees   Setting Value: true     (default false)

Specify Statuses Impacted by Work Order Invoice Processing

The default statuses that are changed to Invoice Ready if the Invoice Ready box is flagged: invoice review, and invoice approved.

IMPORTANT: Invoice Ready -> Billed Status
Although a Work Order can be invoiced without the Status being first set to Invoice Ready, the Work Order Status will not then be set to Billed. The Work Order ONLY be set to Billed after it has been invoiced and posted if it was Invoice Ready before it was processed.

The following registry may be used to define the list of statuses that should be included in the Invoice Ready processing.

Registry Id: sys-ffv-global-settings

Setting Key: ValidLogTypesForInvoiceReadyProcessing

Setting Value: list of statuses

Example: (returns wait paperwork to the list; was the default in early 8.1/8.2 versions)

Setting Key: ValidLogTypesForInvoiceReadyProcessing   

Setting Value: completed,invoice review,invoiceapproved,wait paperwork

Send Work Order Updates to Fleetmetics / SageQuest regardless of the Schedule Date

Setting Key: AllowSageQuestToUsePriorDates Setting Value: true (default is true )

If this registry setting is set to true (or absent), SAMPro will send work order updates to Fleetmatics regardless of the schedule date. This allows clients who do not wish to roll the dispatch board over to keep the schedule date current to have their work orders display and update the Fleetmatics map.

Warn or Error if WO Date Scheduled Set to Past Date

This registry option may be used prevent or warn the user from setting the Work Order Date Scheduled (on the Tech tab) to a date in the past. When implemented, the user will either be warned about (Warning option) or prevented from (Error option) changing the Date Scheduled to a date in the past in New Call, the Work Order viewer, Start Workorder Daily Edit, the Dispatch Board and TechFinder.

Registry Id: sys-ffv-global-settings

Setting Key: DontAllowWOScheduledDateBeforeCurrentDate  Setting Value: Error or Warning

Default to Non-Aggregate Material Markup (old methodology)

In previous releases, materials markup always calculated as the cost plus markup without considering any lower cost levels. However, this could result in pricing inconsistencies. For example, suppose a $5 item is marked up 700%.  The charge to the customer would be the cost of $5.00 plus a $35 mark-up or $40. But suppose that an item that costs $6.00 has a 400% mark-up.  In this case, the price would be the cost of $6.00 plus a $24 mark-up resulting in a price of $30 (or $5.00 less than the cheaper item).  In Version 9.0, the default code used to calculate the price has been refined to take the previous level into account when doing the calculation. The new methodology is the default in version 9.0 and above.  To return to the old methodology, the following registry entry is required. Note that if this registry is enabled, the Material Rate Types of Margin and Multiplier are also impacted.

IMPORTANT: Contractual Rates
While the new default methodology provides more refined revenue calculations, this change may cause issues if Client-specific material markup rates that are contractual are specified in your data. In this case, maintaining the previous methodology (via registry) may be advisable.

Registry Id: sys-ffv-global-settings

Setting Key: MaterialMarkupMethod     Setting Value: old

Reset Computed Work Orders

This registry addresses the following scenario. A group of work orders are review and set to invoice ready in the morning, but not yet printed. Later in the day, a user changes one of these work orders (from the work order itself, or other viewers such as the Job or Labor Journals. Finally, the service invoices are printed and posted – but the one that was altered now differs from what was approved earlier that day.

The following global setting option forces an ‘Invoice Ready’ work order back to the 'Invoice Review' status if it is changed.

TechAnywhere Note: The TechAnywhere Post now ignores this registry setting which interrupted the post in previous releases.  

Id: sys-ffv-global-settings

Setting Key: ResetComputedWorkOrdersWhenChanged Setting Value: true (default false)

If this registry is implemented, the following message will appear when an Invoice Ready work order is changed:

This action requires setting Work Order ###### to Invoice Review. Is it Ok to reset the work order’s status?

If the user clicks Yes, the work order will be reset and the change will be allowed. If the user clicks No, the change is denied.

Work Order Release-to-Tech Status

This option specifies the status the Work Order Technician line is set to when the Release to Tech button is clicked. This setting overrides the DefaultStatus option in the sys-web-access-technication registry for its Release to Tech functionality.

Id: sys-ffv-global-settings

Setting Key: TechReleaseToStatus Setting Value: Unacknowledged (or another log type status)

Example:

Id: sys-ffv-global-settings

Setting Key: TechReleaseToStatus Setting Value: Unacknowledged (or another log type status)

Id: sys-web-access-technician

Setting Key: DefaultStatus Setting Value: Pending

Setting Key: NewWorkOrderStatus: Setting Value: Pending

With this setup, if the tech ID is changed on the workorder it will not automatically switch to unacknowledged thereby releasing the workorder to the technician. It allows the status to stay at pending while changing the tech on the workorder rather than releasing it to TechAnywhere.

Background:

Prior to this release, the sys-web-access-technician registry option DefaultStatus drove what status the ‘Release To Tech’ button would change to. This registry also provided the status used when you changed the Tech Id (on the Work Order Tech tab or on the Dispatch Board). Typically, the registry option to set new lines added to the work order to pending so the dispatcher could release the work order to the technician when appropriate.

Setting Key: NewWorkOrderStatus Setting Value: Pending 

The problem with this is that the DefaultStatus registry setting was dual purpose, so if you always needed the ‘Release To Tech’ button to change the status to Unacknowledged (needed for TechAnywhere), the registry option for sys-web-access-technician had to be:

Setting Key: DefaultStatus Setting Value: Unacknowledged.

Here is the problem with the old way:

Say I have 2 TechAnywhere technicians (TechA/TechB). I create a new workorder for TechA and his WO tech line is added at the status of “Pending”.

Now let's say we needed to change the tech on the WO from TechA -> TechB. If you took the method of marking TechA to completed/cancelled, and then added TechB as a second tech to the WO, TechB’s status would come in at “Pending” which is good.

If you used another method, like going to the TechA tech line and change the tech ID to TechB (or using Classic board to re-assign the WO), this is treated differently and then uses the DefaultStatus registry setting, which sets it to “Unacknowledged”. At this point, it has now automatically released the workorder to the technician in TechAnywhere without the dispatcher realizing.

The new TechReleaseToStatus registry setting allows us to set the default status to pending, so that if the WO is reassigned, it is not automatically releasing the workorder, and have an override on the release to tech button so that it always changes the workorder to the certain status it is set to regardless of the DefaultStatus registry setting.

Automatic Generation of Web Logs into Work Orders

This enhancement is designed for businesses where web logs created in CRMAnywhere are entered by company/franchise employees. When enabled, these web logs will be used to automatically generate work orders; it is NOT recommended for firms using CRMAnywhere to allow external clients generate web logs.

This enhancement must be implemented via registry to automatically create work orders whenever a Web Log record is made via CRMAnywhere. This eliminates the need for a user to go to New Call and import a web log entry in most cases. NOTE:  Scheduled Event Manager already includes code that checks for new Web Log entries that need escalated.  Additional code now takes that one step further and auto-creates a work order when the new registry setting is enabled. When the work order is successfully generated, the web log will be set to Acknowledged, just as it would be when it is manually processed in New Call.

Since CRMAnywhere users only choose a Service Category and not an Equipment Id, this functionality defaults the first Client Site Equipment record for the supplied Service Category into the auto-created work order. For this reason, client site equipment data should be carefully reviewed to ensure that the service category is completed where applicable.

When a work order is auto-generated from a weblog, all of the fields that would default when manually entering the web log and then selecting a Site Equipment record.

If a technician should be assigned to work order, the tech must be specified in the Site/Equipment record.

The Default Service Job fields must be completed in the Site Equipment records.

If a field that is required in New Call does not default in when the web log is processed, an email alert will be sent noting the Weblog Id and the problem. Also, certain types of pop up messages (such as excessive activity message) requiring human invention may prevent the web log from being automatically turned into a work order; in this case, the status of the Web Log will be Unacknowledged. In this case:

1. The web log may be manually handled in New Call and converted into a work order.

2. The problems which prevented the work order from being automatically generated (often because required fields are not completed) may be corrected, and the web log’s status set back to New. The next time the Scheduled Event Manager runs again, the web log will be processed. This is the preferred method because it will correct the problem for future weblogs.

To implement, the following registry entry is required (and the Scheduled Event Manager must be running). When SEM sees this registry setting it will create a new work order when it processes a weblog entry that is set to ‘new’.

To implement this following global registry entry is needed:

Id: sys-ffv-global-settings

Setting Key: AutoCreateWOFromWebLogs Setting Value: true

The following registry entries are also required: they specify the email address that alert should be forwarded to if a work order fails to be created:

Id: sys-newcall

Setting Key: EmailPostLogsTo Setting Value: toemailaddress

Setting Key: EmailPostLogsFrom Setting Value: fromemailaddress

 

Enable Master Contract Future Inspection Table

The internal table (mstrclntsteeqpmntpm) simplifies reporting/KPI's for future PM inspections as defined in Master Contracts. This table is automatically created during data conversion if the following registry is enabled.  The contents of the new table are affected by: saving Master Contract records, saving Site Equipment records, generating PM Work Orders, running Start Renew Service Contract, running Start Renew Master Contract and running Create New PM Work Schedule from Old.  The system will confirm that the following registry is in effected before updating the Master Contract Future Inspections table.  

Id: sys-ffv-global-settings
Setting Key: CreateMasterSiteEquipmentPMTable   Setting Value: true

Important: if this registry entry is enabled, the following registry entry (DisableMCFutureInspectionsTable) must be absent or disabled.

Disable Master Contract Future Inspection Table

The following registry disables the Master Contract future inspections table. Implement ONLY if DBAnalytics or other reports that depend on the table are not used.

Id: sys-ffv-global-settings

Setting Key: DisableMCFutureInspectionsTable    Setting Value: true

Use if Master Contract DBAnalytics are NOT required.

Work Order Escalation / Date Work Completed

Initially, the WO Date Work Completed was set from the most recent Tech Tab date when the WO Escalation status went to completed. This made sense in the days before Techanywhere.  With TechAnywhere, scheduled dates do not always get rolled over, so the Date Work Completed may be days earlier (when the tech first got his wo) than when he actually sent the completed status change. Due to timing issues with sending labor lines from TA, the latest labor date cannot be used for the date completed.

This registry entry will only set the Work Order Date Work Completed to today if it is initially blank (set to 01011900) AND if the WO Escalation Status goes to Completed.

Id: sys-ffv-global-settings

Setting Key: DateWorkCompletedToday

Setting Value: true (default false preserves current behavior)

Note that a Work Order is considered ‘completed’ if:

At least one Tech line is set to 'completed', 'wait paperwork', 'invoice ready' or 'invoicedisputed')

AND

The WO Escalation Status Category is to 'completed' or 'pending ok to invoice')

.

Allow PDF’s and DBR’s to Coexist

Although SAMPro supports saving/archiving Invoices as PDFs there is a downside.  Specifically, viewing saved PDF documents is not done 'within' SAMPro; this means that SAMPro’s Email Report option is not available from the PDF document reader.

The registry setting described below allows for the DBR and the PDF versions of saved report to co-exist.  Viewing the saved document from within SAMPro uses the DBR version.  Viewing from the DBAnalytics framework uses the PDF version.  This feature eliminates the need to have DBRs converted to PDFs before emailing to DBAnalyics and FMAnywhere users.  Instead, the PDF can be viewed instantly from within the browser.

To use this new feature you must add the following global registry option:

Id: sys-ffv-global-settings

Setting Key: UseConvertedDBRs  Setting Value: true

When implemented, the system converts DBR documents to archived pdf documents and saves original archive DBR file in the ConvertedDBRs subfolder, within the appropriate Month/Year directory.

Converting Large Reports to PDF

This release addresses the problem of running very large reports and then saving them to PDF after they had previewed on the screen. In previous versions, this could fail when Smalltalk ran out of memory.  In this release, the XML generation has been changed from running in memory to running in WriteStream. A temporary file will be generated by Writestream; it will be

Saved in the basedir/username directory.

The temp filename includes the time (tempXML_HHMMSS) in the name.

The temp file is removed at the end of the process.

In addition, a registry entry has been added to support increased memory for the Java run time: this setting is only necessary for someone attempting to convert a very large report into a PDF.  When the new setting is present, XMLtoPDF is instructed to allocate more memory for the Java run time so that it can process the larger XML files without running out of memory.

Id: sys-ffv-global-settings

Setting Key: vmflagsxmltopdf  Setting Value: -Xms800m -Xmx800m

Retain Files When Using XmlToPdf[2019-01-03 Java8-11] or Above

The functionality of the -d and -v flags (enabled via the global appflagsxmltopdf) has been altered for XmlToPdf[2019-01-03 Java8-11] and above. Previously, the -d flag just deleted the log and xml file. That was changed to include the pdf also at some point. This version makes the -d flag only delete the XML file. The PDF file is now always preserved. The log file is now deleted by default. Adding the -v flag will preserve the log.

This version creates Monthly folders in the XmlToPDFSent folder (YYYY-MM format) to store all the sent pdfs (and xml and log files, if enabled via registry) from a particular month.   

Registry Id: sys-ffv-global-settings

Setting Key: appflagsxmltopdf

Setting Value: -d

This value retains the pdf files only. This is the default setting if this registry option appflagsxmltopdf is NOT enabled.

Setting Value:-v

If the Setting Value is set to -v the log, xml and pdf files (if present) will be retained in the base XmlToPDF_Sent folder.

If the MailerMethod is set to Java in the sys-email registry, running with the -v flag set also retain the xml and log files of emails sent without an attachment. This allows the Xml record of scheduled event emails to be retained.

Note that the log files of emails of emails with pdf attaches can be quite large, so the monthly folders should be cleared out on a regular basis.

Setting Value: -d -v

This retains the pdf and log files but not the xml files. If the MailerMethod is set to Java in the sys-email registry, running with the -v and -v flags set also retains the log files of emails sent without an attachment. This allows a log of scheduled event emails and emailed reports to be retained.

 

Specify Maximum Wait Time when Create PDF Button is Clicked

This release corrects the File Creation error sporadically experienced when using the Create PDF button in the Documents viewer or the View Docs button in some checklists by waiting up to 30 seconding before the time out error is generated.

The user may also make a new entry in sys-ffv-global-settings to increase the maximum wait time if the default 30 seconds is not enough.

Setting Key: MakePDFTimeOut

Setting Value: (an integer value represented in milliseconds 60000=60 secs)

 

Update Work Order Escalation Status in absence of Escalation Profile

In the past, the system only updated the WO Escalation status if an Escalation Profile existed. For a variety of reasons (including invoicing and credit hold processing), the WO Escalation status/Status Category should be updated for all systems. The following registry option results in the work order escalation status always being update, regardless of whether or not an Escalation Profile exists.

Id: sys-ffv-global-settings

Setting Key: EscalationManager Setting Value: always

 

Option to Define Statuses to Release to Tech

Id: sys-ffv-global-settings

Setting Key: TechReleaseFromStatuses Setting Value: list of from statuses (default is Pending)

By default, clicking the Release to Tech button changes the status of the selected Technician line from ‘Pending’ to the application status for the Technician (most likely Unacknowledged). This enhancement allows the customization of the release to tech button located on the dispatch board and the workorder technician line to specify the "from" status (statuses) so that they no longer are forced to used just the status of "Pending". The "to" status will continue to follow the same rules as it always has.

Example: Setting Key: TechReleaseFromStatuses Setting Value: pending, waitcustapprvl

 

GUI Bitmap Skinning

Version 7.3 supports a new and brighter look for SAM Pro via bitmap ‘skinning’ of the top and side button bars. These newer bitmaps are also designed to display more clearly on today’s high-resolution monitors.

Also See Registry GUI Bitmaps for detailed on this required registry entry to configure the skin.

The following option turns the skinning on. If a setting value is not specified, skinning will not be implemented unless overridden by the Registry Tab in the User record.

Id: sys-ffv-global-settings

Setting Key: SkinId Setting Value: skinname (from sys-gui-skin-skinname)

Note: the Registry tab of the user record can be used to turn the new bitmap skins on or off by user.

 

Default PM Billing GL Accounts

Id: sys-ffv-global-settings

Setting Key: DefaultGLAccountPMIncome Setting Value: GL Account Id

Setting Key: DefaultGLAccountPMBilledInAdvance Setting Value: GL Account Id

This option provides default GL Accounts for the system to use if the corresponding fields on the Client Site PM Billing tab are blank when Start Create PM Billing is run. One or both should be completed as follows:

If Amortizing the Amount Earned on a Billing Schedule

The Setting Value for the DefaultGLAccountPMIncome option should specify the Income (sales or revenue) account where the Amount Earned will post. This Account will be credited with the Amount Earned when the Start Create PM Invoice function is run.

The Setting Value for the DefaultGLAccountPMBilledInAdvance should specify the Liability (unearned income) account where the Amount Billed will post. This Account will be credited with the Amount Billed when PM invoices are generated, printed, and posted.

If Not Amortizing the Amount Earned on a billing schedule

The Setting Value for the DefaultGLAccountPMIncome option should specify the Income (sales or revenue) account where the Amount Billed will post. This Account will be credited with the Amount Billed when PM invoices are generated, printed, and posted. The second GL Account field should not be completed.

If Using Time of Service Billed (version 8.0 and up only)

Setting Key: DefaultGLAccountPMIncome    Setting Value: GL Account Id for Normal Income
Setting Key: DefaultGLAccountPMBilledInAdvance  Setting Value: GL Account Id for Normal Liability

Note that The GL transfer to recognize income happens when the zero-dollar invoice is printed and posted.

Job Costing Labor Burdens

Using this option brings the Job History computation in line with the computation used in the GL History when the employee is set up with two types of burden (hourly and percent). This is important if your firm is not using Data-Basics Payroll module, but still desires to job cost estimated burden and also accrue these to the general ledger.

Id: sys-ffv-global-settings

Setting Key: LaborJobCostRateMethod Setting Value: BurdenOnWagesOnly

Background:

An Earnings ID for a burden (type marked N/A) is setup. This earnings is marked Accrue (Yes) and JobCost Labor Entry (Yes).

There can be 2 different types of burden Fixed (hourly) and Flexible (percent of wages).

When this registry is set the percentage is only taken on Earnings flagged as “Wages”. The default was adding “Wages” and Fixed Burden and then calculating the percentage on these.

WARNING ON USING THIS METHOD:

Regardless of whether this registry option is enabled, GL will post on Labor Entry if Accrue to GL=Y in the Payroll Period and Earnings record:

 DR COGS LABOR Wages

  CR Accrued wages payable

And

 DR COGS Burden

  CR Applied Burden

Job Cost will post on Labor Entry:

The Total Amount as one number STORING a single COST CATEGORY (selected on labor line).

The problem arises at month-end during the WIP process if these costs are unbilled. The month-end process will:

 DR WIP

  CR COGS LABOR Wages

COGS LABOR Wages will be understated and COGS burden will be overstated for the amount of the burden.

Refine Job Cost Calculation for Labor

Id: sys-ffv-global-settings

Setting Key: LaborJobCostRateMethod  Setting Value: new

NOTE: No Burden From Cost Codes
If the above registry is enabled, the system assumes that the following is also enabled  to ensure that the labor burden is correctly calculated.

Setting Key: DisableCostCodeHourlyBurdenRate   Setting Value: true

The new methodology computes the wages, fringes and j/c-only portions separately then returns sum of the three. This registry is also required if the Pay Rate Adjustments specified on the Job's Employee Overrides tab are to be job costed (for wage type earnings being costed). The new methodology keeps wage and non-wage hourly-type amounts separately so that percent-type cost lines can be applied to wages only. Note that this registry impacts Job Cost / Job History values, not Payroll. Labor entered in the Work Order, Labor Journal, PR Journal and the Job Journal will use the new methodology enabled via this registry.

 

Set Debit Account for Fringe Expenses Accrued on Direct Jobs

This registry supplements the GL Account settings in the Earnings record.  This registry setting is used during Labor entry.  It specifies the Debit account for Fringe Expenses accrued against direct (non-overhead) jobs.

Registry Id: sys-ffv-global-settings

Setting Key: COSFringeGLAccountId  Setting Value: GL Account Id

Enable Optional Accrual for Bonus Pay

Id: sys-ffv-global-settings

Setting Key: AccrueBonusPay    Setting Value: true (default false to preserve original behavior)

IMPORTANT: This option may ONLY be enabled if the sys-ffv-global-settings registry option LaborRatesAndAccrualMethod is set to 7687.

Implementing this setting it 'activates' the Payroll Periods User2 field. It answers the question of whether bonus pay should be accrued.  The Payroll Period's User2 field must be set to True to enable this behavior. This registry impacts the Employee viewer; Labor Journal viewer; Payroll Period viewer; Work Order viewer and Compute Payroll.

Related Payroll Period

Changed Field: User2
This field is in conjunction with the AccrueBonusPay registry setting in sys-ffv-global-settings.  If this field is set to True AND the registry is set to true, bonus pay entered for this Payroll Period will accrue. If this field is set to False or is blank, bonus pay will NOT accrue regardless of whether or not the AccrueBonusPay setting is enabled.

If your firm accrues bonus pay, It strongly recommended that the Custom Fields functionality be used to change Payroll Period User2 field's label to Accrue Bonus Pay.  Custom Field Values of True and False should be added (these values are NOT case-sensitive).

Use Control Records' GL Entities for PR Deductions, Earnings, Taxes, etc.

This registry provides optional control over the use of the Employee GL Entity specified on the Employee record's Other tab. By default, the Employee record's GL Entity is used as the primary source when Compute Payroll is run. The GL Entity in the Payroll Tax Authority, Deductions, Earnings or Worker's Company records provide a secondary source for the GL Entity if the GL Entity is blank in the Employee record.

The following registry reverses the default behavior, using the Employee's GL Entity as the secondary source and the control record's (Payroll Tax Authority, Deductions, Earnings, Worker's Comp or Other Rates operating as payroll Reimbursement codes) GL Entity as the primary source of the GL Entity.

Id: sys-ffv-global-settings

Setting Key: EmployeeGLEntityPayrollToGLH  Setting Value: secondary

Use Employee Entity for Earnings Not Costed

The Salaries DB Entity is typically supplied by the Cost Code. In some scenarios, it may be desirable to have the Entity come from the Employee when available.

When the following registry setting is implemented, the Employee's GL Entity is used as the Debit Entity (if not overridden by the Earnings Record) for ALL earnings that have both Job Cost Labor Entry and Job Cost PR Check set to false. Note that the Debit GL Entity from the Earnings record (if completed) still has the highest priority, with or without the registry.

Id: sys-ffv-global-settings

Setting Key: UseEmployeeEntityForEarningsNotCosted   Setting Value: true

WARNING: the new registry option 'UseEmployeeEntityForEarningsNotCosted' has different behaviors for the DB and CR sides. Hiearchy is as follows:

 DB without new setting ... Earnings DB Entity, Cost Code Entity, Employee Entity
 DB with new setting    ... Earnings DB Entity, Employee Entity, Cost Code Entity
 CR without new setting ... Employee Entity, Earnings CR Entity
CR with new setting    ... Earnings CR Entity, Employee Entity

Burden Allocation for Overhead Labor

This option allows the system to accrue burden for overhead labor without forcing Burden GL to use Wage GL. This enables Burden allocations on time charged to indirect jobs.

Id: sys-ffv-global-settings

Setting Key: AccrueBurdenCostForOverheadLabor   Setting Value: true

Configuration Note:

If both Global Settings option AccrueBurdenCostForOverheadLabor and  UseEmployeeEntityForEarningsNotCosted  are set to true, configuring Standard Cost Earnings records so that the GL Debit and GL Credit point to the same account leads to a net zero GL effect when standard costs are charged to overhead jobs.

Burden Not Costed: Override Job Cost Entity with Employee Entity

This registry provides an override to the labor line GL Entity which normally defaults from the Job Cost Code for Burdens Not Costed.

Registry Id: sys-ffv-global-settings

Setting Key: UseEmployeeEntityForBurdenNotCosted   Setting Value: true   (default false)

If enabled, the system will use the GL Entity from the Employee instead of the Job Cost Code if: 1) Both the Job Cost Labor Entry AND Job Cost PR Check fields are blank in the Earnings Record AND 2) The Earnings Record is of Type Burden. This registry applies to Direct and Indirect (OH) Job.

This registry enables different behaviors for the DB and CR sides. Hierarchy is as follows:

DB without new setting ... Earnings DB Entity, Cost Code Entity, Employee Entity
DB with new setting    ... Earnings DB Entity, Employee Entity, Cost Code Entity
CR without new setting ... Employee Entity, Earnings CR Entity
CR with new setting    ... Earnings CR Entity, Employee Entity

Indirect Burden: Override Job Cost Entity with Employee Entity

This registry provides an override to the labor line GL Entity which normally defaults from the Job Cost Code for Indirect Burdens.

Registry Id: sys-ffv-global-settings

Setting Key: UseEmployeeEntityForIndirectBurden   Setting Value: true   (default false)

If enabled, the system will use the GL Entity from the Employee instead of the Job Cost Code if: 1) the Earnings Record is of Type Burden AND 2) The Job is Indirect (Overhead field check).  

This registry enables different behaviors for the DB and CR sides. Hierarchy is as follows:

DB without new setting ... Earnings DB Entity, Cost Code Entity, Employee Entity
DB with new setting    ... Earnings DB Entity, Employee Entity, Cost Code Entity
CR (with or without new setting) ... Employee Entity, Earnings CR Entity

Indirect Standard Cost: Override Job Cost Entity with Employee Entity

This registry provides an override to the labor line GL Entity which normally defaults from the Job Cost Code for Indirect Standard Costs.

Registry Id: sys-ffv-global-settings

Setting Key: UseEmployeeEntityForIndirectStandardCost     Setting Value: true   (default false)

If enabled, the system will use the GL Entity from the Employee instead of the Job Cost Code if: 1) the Earnings Record is of Type Standard Cost AND 2) the Job is Indirect (Overhead field checked).  

This registry enables different behaviors for the DB and CR sides. Hierarchy is as follows:

DB without new setting ... Earnings DB Entity, Cost Code Entity, Employee Entity
DB with new setting    ... Earnings DB Entity, Employee Entity, Cost Code Entity
CR (with or without new setting) ... Employee Entity, Earnings CR Entity

Direct Wages Not Costed: Override Job Cost Entity with Employee Entity

This registry provides an override to the labor line GL Entity which normally defaults from the Job Cost Code for Direct Wages Not Costed.

 Registry Id: sys-ffv-global-settings

Setting Key: UseEmployeeEntityForDirectWagesNotCosted   Setting Value: true   (default false)

If enabled, the system will use the GL Entity from the Employee instead of the Job Cost Code if: 1) Both the Job Cost Labor Entry AND Job Cost PR Check field are blank in the Earnings Record AND 2) The Earnings Record is of Type Wages AND 3) the Job is Direct (Overhead field blank).

This registry enables different behaviors for the DB and CR sides. Hierarchy is as follows:

DB without new setting ... Earnings DB Entity, Cost Code Entity, Employee Entity
DB with new setting    ... Earnings DB Entity, Employee Entity, Cost Code Entity
CR (with or without new setting) ... Employee Entity, Earnings CR Entity

Registry to Force Earnings Credit GL Entity to Always Follow Debit GL Entity on PR Accruals

Registry Id: sys-ffv-global-settings

Setting Key:  PRAccrualGLEntityMatch   Setting Value: true (default false)

When this registry is enabled, the Earnings Credit/Debit will always be the same for PR-to-GL accruals. When enabled, the credit side GL Entity of an Earnings ID will follow the same GL Entity used by the Debit (instead of using the GL Entity on the Employee record).

Match Job Cost / GL Accrual of Labor

The registry fixes known labor costing issues where the dollars posted to GL Cost-of-Sales and JCH do not match. When enabled, is acts as a comprehensive calculator for Labor Pay Rates, Job Cost Rates and GL Accruals, impacting payroll calculations in the Labor Journal, WO Labor, WO Entry, the Employee Rate Test tab, and Start Compute Payroll.

Id: sys-ffv-global-settings

Setting Key:  LaborRatesAndAccrualMethod  Setting Value: 7687

IMPORTANT NOTE: We strongly recommend discussing this option with your support representative AND running tests with this registry enabled BEFORE turning it on in your live system. In general, this option should make posting more accurate, but it may be impacted by the customer's specific configuration. The Case 7687 methodology should be also used with any installs that have the Pay Rate field available for input as of build 9.0.572.046 and above.

Reclassify Burden Cost for Overhead Labor

Id: sys-ffv-global-settings

Setting Key: ReclassifyBurdenCostForOverheadLabor

Setting Value: true  (default false)

SUMMARY of changes when new registry setting is enabled ...

1. Earnings of type 'n/a' are included in accruals on overhead jobs.

2. GL Expense for burden (n/a) ALWAYS follows the wages.  This includes overhead AND direct jobs.

Prior to this mod, only Wage-type earnings were included in Labor-to-GL accruals for time charged to overhead jobs.  During the accruals process, the burden expense posts to the same account as the wage expense for any given labor line.  Determination of the wage expense GL Account still follows the standard rules.

Enable Id Search Buttons

image\IdSearch.gif This enhancement enables the addition of the Id Lookup button to the right-hand side of Id fields. This enhancement lets the user easily see which fields are Id fields, and also select the field AND bring up the list in a single click of the button. A grayed-out version of this button will appear on disabled fields.

image\Magnify.gif The Magnify button (used to zoom in on the Single/Detail view of lines) has been updated to help users distinguish between zooming in on a particular line, and searching for an Id (in the case of Id Search.

Id: sys-ffv-global-settings

Setting Key: UseIdSearchButtons Setting Value: true

When this registry option is implemented, the Id Search button is automatically added to the right-hand side of most Id-type fields. Certain Id fields (especially very short ones) are excepted from this behavior.

When the Id Search button is pushed, the system:

Changes the focus to the associated Id input field.
Emulates the left mouse-button double-click logic to display the list of Id’s for this field

Start Client Site Import Default Directory

When this function is run, SAM Pro will open a browser window so that you may select the appropriate .cvs file for importing your client site data. The following option lets you specify the default directory for CSV site import files.

Id: sys-ffv-global-settings

Setting Key: CSVDirectory Setting Value: path (specify directory to place CSV files)

 

Specify Standard Annual Hours for Salaried Employees

By default, the system uses the value of 2080 for the annual standard hours (for salaried employees) used for various payroll reporting calculations (such as Report PR Verification) run before (or in lieu of) Compute Payroll. This enhancement allows the user to control the Standard Annual Hours via registry or in the Employee viewer so that the pay rate written to job history will use the ‘correct’ rate (Salary / Standard Hours) without having to run Compute Payroll to have the pay rate updated to the correct effective rate (= Salary / Pay Periods / Hours Entered).

Id: sys-ffv-global-settings

Setting Key: StandardAnnualHours  Setting Value: NNNN

When NNNN is replaced by the number of Standard Annual Hours that your firm wishes to use. This value will be used for all employee payroll calculations unless overridden by the Annual Hours field in the Employee viewer.

Tip: if all employees are to use the same standard annual hours (either the default 2080, or as set by global registry) you may wish to disable this field so that it is not erroneously completed. Contact your support representative for details.

Inventory Average Cost Calculation

By default, if an Inventory Item is flagged as using Average Cost, the system will make the following attempts to determine the cost if the first option (average cost of that inventory on-hand at the specified location) is not available:

1. Average from Inventory History (constrained by Where)

2. Average from Inventory History (not constrained by Where)

3. Standard from Inventory Item [unless the RevenueFromStandardCost registry option is enabled]

4. Last from Inventory History (constrained by Where)

5. Last from the Inventory Item

This calculation may be quite time-consuming, and may not be the preferred methodology for all installation. The following registry entry allows the user to only make the first calculation. If there is no stock on-hand for the specified location / serial number, the cost will be zero. This registry impacts certain reports, the Work Order Inventory tab, Start Work Order Entry, and the Work Order viewer’s Locations tab.

Id: sys-ffv-global-settings

Setting Key: InventoryItemAverageCostByLocationOnly  Setting Value: true

This registry impacts certain reports and the following screens:

Work Order Inventory Tab
Start Work Order Entry
Inventory Item: Main, Locations and BOM Tabs
Purchase Order Inventory Tab
Inventory Receipts Journal Receipts Tab
Accounts Payable Journal Inventory Tab
Shop Order Main and BOM Tab
Job Journal Expenses tab

Related Registry:
Include COP Transfers in Last Cost Calculation: Registry Inventory Costing

Enable Project Manager Approval of Held Requires Approval AP Invoices

Id: sys-ffv-global-settings

Setting Key: ProjectManagerMustApproveVendorPayments   Setting Value: true (default is false)

This is option is required to enable your Project Managers to give preliminary approval to ‘requires approval’ Vendor Invoices. Once approved by the Project Manager, these invoices will then be eligible for final approval during the standard AP Approve HELD Invoices (Start AP Payment Approved List) functionality.

NOTE: AutoReleaseHeldVouchers and ProjectManagerMustApproveVendorPayments should NOT be implemented simultaneously.  If they are, the AutoReleaseHeldVouchers entry CONTINUES to rule the approval process, negating the whole purpose of Project Manager Approval.

Preliminary PM Approval applies in the following situations:

1. Registry setting noted above is in place.

2. Vendor Invoice must reference a PO that links to a job that has a Project Manager assigned to it.

3. Vendor Invoice must be 'on hold'.  (Use AP Terms Codes wisely)

Vendor Id Auto-sequencing

This registry implements the auto-sequencing of the Vendor Id via the following registry. The sequencing will start at 10001 and will automatically skip ahead if a collision is detected. This registry should be discussed with your support representative before it is implemented.

Registry Id: sys-ffv-global-settings

Setting Key: autosequenceVendorid  Setting Value: true  (default false)

If the registry is true users may not specify the Vendor Id when adding a new record.  The Id may be changed once the Vendor record has been added.  

Alternate Prevailing Wages Calculations

Id: sys-ffv-global-settings

Setting Key: AlternatePrevailingWageMethod Setting Value: true

The State of New York uses a different method to calculate the prevailing rate: if either the employee’s base wage and/or the employees fringe package is less than the Prevailing Wage base wage and/or fringe package the difference must be added as additional wages paid to the employee. NOTE: if this registry option is enabled, it will be used for ALL Labor Rate based prevailing wage calculations, regardless of the location of the Job.

Example:

The following compares the new methodology (with the above registry enabled) with the standard methodology.

Employee Pay Rate = $49,00
Employee Fringe Rate = $15.00
Employee Total Package Rate = $64.00

Prevailing Pay Rate = $48.00
Prevailing Fringe Rate = $30.00
Prevailing Total Package Rate = $78.00

SAMPRO Standard Calculation ...
Excess of Prevailing Package vs. Employee Package = $14.00 (78.00 – 64.00)
Revised Effective Pay Rate = $63.00 (49.00 + 14.00)

Revised Calculations ...
Larger of the pay rates = $49.00
Larger of the fringe rates = $30.00
Revised Total Package Rate = $79.00 (49.00 + 30.00)
Excess of Revised Package vs. Employee Package = $15.00 (79.00 – 64.00)
Revised Effective Pay Rate = $64.00 (49.00 + 15.00)

TechAnywhere - Defaulting OH Job Cost Category

Currently, the job cost category defaults from the labor rate id selected in TechAnywhere. If a tech selects a direct labor rate id on a overhead work order the time post will fail. This registry entry overrides the cost category default that normally would happen ONLY when time is posting from TechAnywhere to a OH job.

Id: sys-ffv-global-settings

Setting Key: DefaultOverheadCostCategoryForTechAnywhere Setting Value: OHCostCategoryId

 

Price Code Handling – always default Price Code Level 1 Price

This registry entry impacts the Work Order, Quote, Client Order, and CSRAnywhere (Quote Management). Note that the Inventory Item allows for 9 levels of Material Pricing, but Price Codes only allow for 5.

Id: sys-ffv-global-settings

Setting Key: DefaultExceptionPriceCodeLevel1  Setting Value: true

When this option is enabled, and the system defaults inventory unit pricing and there is a Price Code in play, the system ignores the Price Level found in the Client Site or Job and assumes price level 1 of the Price Code. This setting impacts the Work Order, Quote, Client Order, and CSRAnywhere (Quote Management).

The default (if this option is NOT implemented) and Price Codes are in effect, and the default price level from the Client Site or Job is greater than 5, the system now defaults price level 1 from the Price Code. If the default Price Level (in the Site or Job) is 5 or less, the corresponding Price Code Price will be used.

 

WebHelp

Data-Basics supports WebHelp. Updated versions of WinHelp are no longer provided as this type of Help is no longer supported by Microsoft.

To Activate WebHelp add this registry option to your sys-ffv-global-settings registry:

Id: sys-ffv-global-settings

Setting Key: HelpFileType  Setting Value: WebHelp

Installation: Your system must have a folder entitled WebHelp located in the directory where the executable is located; this file is currently distributed in the .zip file with SAMPro images.

Updates: If WebHelp is updated, the first user into the system after the update will be confirm the update: they should always answer ‘Yes’ to this confirmation.

User Requirements:

See WebHelp Browser Support and Settings for the Internet Explorer options required to run WebHelp properly.

TechFinder – display WO/Zone Count instead of Hours

By default, the TechFinder displays the number of estimated hours assigned to a tech by day. A alternate view is available via registry that displays the following:

W=n Z=n

where W means Work Order and n is the number of work orders for that day and Z means Zone and n is the number of work orders scheduled that day that match the search zone specified. The background colors of Green, Yellow and Red are retained to indicate estimated hour load.

The following option implements this view:

Id: sys-ffv-global-settings

Setting Key: TechFinderWOZone Setting Value: true

The Default is to show the original hours

Tip: Don’t forget to set in sys-techfinder the grid-width-char:

4 for hours  (the default is 8)
10 for WO Zone (the default is 10)

Registry to add Work Code Certifications to Techfinder

This registry supports additional Certifications to be specified for use with TechFinder.  When the following registry entry is enabled, a comma-delimited list of Certification Ids in the Work Code User1 field will be added to the Certification Id range field when TechFinder is launched from New Call or the SAMPro Dispatch board. This list will be appended to the list from the selected Site and Equipment records.

Note that when TechFinder is launched from the Dispatch Board, the Work Code on the Work Order's Main tab will be evaluated for Certifications.

Id: sys-ffv-global-settings

Setting Key: CertificationFromWorkcode  Setting Value: true (default is false)

Tip: If this registry is enabled, use the Custom Fields functionality to relabel the User 1 field as 'Certifications'.

Deny Change / Delete to Notes Unless User is a Notes Administrator

This option prevents non-administrator users from changing or deleting Notes records.  When this setting is ON, only a Notes Administrator account can change and delete public or private notes.

Id: sys-ffv-global-settings

Setting Key: NoteChangeDeleteRequiresAdministrator Setting Value: true

Rules for Note Record change and delete actions are as follows ...

A Notes Administrator can change/delete all but 'secure' notes. Only a support representative can delete or change secure notes.

If the original author is not a Notes administrator, they can change/delete their own private and all public notes except when the new registry setting is in place.

Global Default GL Account

When this setting is in place, any attempt to write a new record to the GL History where a GL Account is not specified will use the GL Account specified by this entry instead. A valid GL Account Id must be specified in this entry.

Id: sys-ffv-global-settings

Setting Key: DefaultGLAccountId Setting Value: GL Account Id

For example, this could happen if the user printed and posted a construction-type invoice with Retainage $$$ but NO Retainage GL Account. Without this entry, the post would be to the blank GL Account. With this entry, the Retainage dollars would be written to the account defined in this entry, making it easier to find and correct errors. Note that the Job Invoice Posting report does not yet display the Default Global Account.

Defer Tax Status Decision

This registry entry, when implemented, would result in the Sales tax type (for Job Tax Statuses of Unknown, Sales and Exempt) always defaulting to space n/a so that the tax would be calculated at invoicing. This registry option does NOT pertain to Jobs with a Sale Tax Type of Use; Use type jobs will be handled as usual.

To implement globally:

Id: sys-ffv-global-settings

Setting Key: DeferTaxStatusDecision Setting Value: true

Alternately, this registry option may be implement on a viewer by viewer basis (e.g., in the sys-viewer-vwrkordr to implement in work orders).

Note: to prevent users from altering the Tax Type in, for example, the Work Order viewer, make the appropriate registry entries to disable the Tax Type fields.

 

Auto-scrolling in SAMPro Reports

This functionality applies when displaying SAMPRO reports. Vertical scrolling is now capable of automatically advancing to the 'next page' once the user has scrolled to the bottom of the current page.  Similar functionality exists for upward scrolling and automatically moving to the 'previous page'.

Make the following global registry setting to implement the new feature:

Id: sys-ffv-global-settings

Setting Key: ReportAutoScroll Setting Value: true  Comments: Default is false 

A second (optional) setting is available for controlling the point at which the auto-scroll takes place:

Setting Key: ReportAutoScrollRatio Setting Value: nn Comments: Default is 90

The Ratio setting defines the point at which the 'bottom' of the current page has been reached and the auto-scroll should trigger.  For example, assume the ratio has been set to 90.  That tells SAMPRO that the bottom of any page has been reached when the last line of the report page appears at a point 90% down from the top.  Or, in other words, the page has 10% white space at the bottom of the display window.

Display Windows Printer Dialog Box Instead of SAMPro Printer List

Id: sys-ffv-global-settings

Setting Key: OldPrinterDialog    Setting Value: true    (default false)

Enabling this setting will display the Windows (OldPrinterDialog_ screen instead of SAMPro's Printer List when printing a report. This allows the use to select a different paper tray and other functions not supported on the SAMPro printer list.

This may be disabled on a function by function basis by the following:

Id: sys-printer-dialog-funtionid

Setting Key: olddialog   Setting Value: false

The system handles existing local report registry oldDialog='' as oldDialog = true to preserve old-style registry settings turning on this functionality.

Note:
When OldPrinterDialog/Olddialog is enabled, the From - To Pages settings in the Report viewer are NOT carried  to the Second Windows printer box where it must be set. To print only a few pages of a report, the page number must be entered in the Windows Dialog.

Registry to Select User’s Printer for Saved DBR’s

When a report is printed and archived and printed in SAM Pro, the information concerning the original printed is retained. If the user accesses the .dbr file to reprint it, the original printer will be selected, not the user’s default printer. This following global registry entry may be implemented to disable this functionality, and instead always select the user’s current default printer when reprinting saved reports.

Id: sys-ffv-global-settings

Setting Key: ReprintToUsersDefaultPrinter Setting Value: true

 

Journals - Do not Default in Equipment Id if Work Order Id is selected – (restore default behavior)

The Equipment Id field now appears after the Work Order Id in the AP, Job, Labor and Purchase Order detail tabs. When the user enters a Work Order Id in any of these tabs, the new default behavior is for the Equipment on the first line of the Work Order’s Equipment tab to default in. The following registry option may be used to disable this behavior so that the Equipment Id does NOT default in.

Id: sys-ffv-global-settings

Setting Key: DefaultEquipmentFromWorkOrder

Setting Value: false

The default is True.  When not True, don't default in the Equipment Id. 

Note: If the sys-ffv-global setting 'DefaultEquipmentFromWorkorder' is set to false, the user is now allowed to set the Equipment Id back to blank in the Labor, PO and AP Journals. If this registry option is not present or set to true, the Equipment Id must be completed if a Work Order Id is referenced.

State / Province Field Validation

By default, data entry in the State / Province address field is limited to the official abbreviations of the US States and Canadian Provinces. By implementing one of the following registry entries, you may disable or adjust this behavior.

Id: sys-ffv-global-settings

Add Valid State/Province Codes

Setting Key: OtherValidStateIds Setting Values: comma-delimited list of values

This setting appends additional State Ids to the standard list. For example, if your company does business with military installations.

Example:

To add the military address AE to the list of valid States/Provinces:

Setting Key: OtherValidStateIds Setting Value: AE

The validation logic doesn't accommodate lowercase letters so the registry values should be entered in uppercase.

Specify List of States / Provinces

Setting Key: ValidStateIds Setting Value: comma-delimited list of values
This setting serves as a total replacement for SAMPRO's standard list of State and Canadian Province Ids.

Disable Validation (not recommended)

Setting Key: DisableStateIdValidation Setting Value: true
This setting disables the State/Province Id validations.

Dispatch Board Maximum Work Order Rows

The following format is used to set the maximum number of work order rows on the dispatch board:

Id: sys-ffv-global-settings

Setting Key: boardrowlimit Setting Value: #numberofrows

where numberofrows is replaced by the maximum number of dispatch board lines (in the work order list) that may appear on the board at any one time. If this entry does not override it, the system will only display 3500 lines. Note that a # sign must precede the number of rows. Limiting the number of lines improves system performance. However, if your dispatchers typically use the dispatch board to reference older work orders, you may need to set the limit higher so that they will not 'miss' work orders.

Note: If the number of technician lines would exceed the throttle value determined by the Board Row Limit, a message instructing the user to refine their search parameters is displayed and the board will come up empty.

Dispatch Board – registry setting to disable auto-update functionality

This registry entry allows users to create a list of WO statuses that are exempt from the auto status change feature we currently employ on the Dispatch Board. This registry entry ONLY impacts technician changes made on the Dispatch Board. Currently, when a user changes the assigned tech on a work order, the system sets the status for the newly assigned tech to the initial start value (unassigned or Waiting Service). There are cases where you wouldn't want this to happen i.e. if the original status was Waiting Parts and you assigned the WO to a different tech you would still want the new tech's status to be Waiting Parts. Note that if you are running escalation manager, this registry entry should be carefully considered for possible impact with your escalation profiles.

Id: sys-ffv-global-settings

Setting Key: ExemptFromAutoStatusChange Setting Value: list of statuses separated by commas

Example:

Setting Key: ExemptFromAutoStatusChange Setting Value: waiting parts,parts ordered

Disable Special Processing to Alert Users Changes Cannot Be Saved

When a user changes a field in a record that has its Change button disabled (and is not in Add mode), the system warns them that the changes can't be saved. The primary Id of the record is exempt from this processing so that the user can use it to access other records. The following registry may be used to disable this functionality.  

Id: sys-ffv-global-settings  (to disable everywhere)

Id: sys-viewer-vfunctionid  (to disable by viewers - sys-viewer-vjb to disable in the Job Viewer)

Setting Key: DisableCase6459 Setting Value: true

Column Compression

The following option to override the criteria that SAM Pro uses to compress the columns in viewer and tab lists. Column Compression makes screens easier to read, but may impact performance.

Id: sys-ffv-global-settings

Setting Key: maxColumnCountToCompress Setting Value: integer

MaxColumnsToCompress indicates the 'column' limit.  This setting is not named appropriately. What it REALLY does is to indicate the maximum number of cells, where a cell is defined as the intersection of a row and a column.  A list with 200 rows and 10 columns has 2000 cells. MaxColumnCountToCompress defaults to 6000.

Setting Key: maxRowCountToCompress Setting Value: integer

where integer is replaced by the maximum number of rows in a list view that are allowed with column compression turned on. Typically, limiting the number of rows will improve system performance, but your list and tab viewers will not be as easy to read. MaxRowCountToCompress defaults to 250.

 

Enabling Log History

The following format is used to turn the log history files off or on for this database:

Id: sys-ffv-global-settings

Setting Key: logHistorySQL Setting Value: boolean

where boolean is replaced by true (to turn log history on) or false (to turn log history off). Consult with your Data-Basics support representative on the use of this format.

 

Inventory Cost and Revenue Calculations

Id: sys-ffv-global-settings

Setting Key: inventoryrevenuefromstandard Setting Value: true

This option enables you to calculate the revenue amount for inventory items by marking up the Standard Cost field in the Inventory Item record while charge real costs to the job based on Average or Last costs. It would be implemented if, for example, your firm did not wish to base customer prices on past discounts.

 

Field/Office Hours for Payroll Reciprocity and Prevailing Wages

This option enables you to fine-tune how prevailing wage overrides are handled. If this option is implemented, prevailing wage overrides will only be implemented for Job Cost Codes flagged as Field for Hours entered in the Labor Journal, TimeAnywhere, TechAnywhere and the Work Order Labor tab. This option also impacts Payroll Tax Reciprocity.

Id: sys-ffv-global-settings

Setting Key: useCostCodeWorkType Setting Value: true

If this option is implemented, prevailing wage and/or payroll reciprocity overrides will only be implemented for Job Cost Codes flagged as Field for Hours entered in the Labor Journal, Work Order Labor tab, and from Remote Time Entry.

In addition, if this registry is enabled, it shuts down the Pay Type override on both the

               Employee Defaults Tab OH Pay Type

               Job Employee Overrides with Pay Type

Note on Workers Comp: The above will affect Workers Comp also. It will override the default settings of the Work Type in the Employee Record and default it with the settings in the Job Cost Code.

Use Job Cost Category Workers Comp for Office Hours

Id: sys-ffv-global-settings

Setting Key: UseCostCategoryWorkersCompForOffice  Setting Value: true

If enabled, Worker Comp settings will be pulled from the Job Cost Category for Office time entered in the Labor Journal and Work Order Labor tabs and via TimeAnywhere. If not enabled, the Workers Comp category will continue to pull from the Employee record for Office hours.

Screen Appearance

To turn on or off ‘shadow boxing’

This option enables you to control the appearance of fields in the Data-Basics software.

Id: sys-ffv-global-settings

Setting Key: EntryBoxStyle Setting Value: aStyle 

Valid styles are shadow and box. Shadow is the default.

Grid Lines and Line Numbering

Id: sys-ffv-global-settings

Id: sys-ffv-global-settings

Setting Key: ListPaneVerticalGridIsDisabled Setting Value: true
Setting Key: ListPaneHorizontalGridIsDisabled Setting Value: true

These options let you disable the vertical and or horizontal grid lines used to separate rows and columns in list views, the Dispatch Board, and New Call.

Many users prefer the cleaner look that this option provides, and often set Line Odd/Line Even colors (from the color palette button) to varying shades of pale gray, blue or tan to provide a pleasing appearance.

Setting Key: ListPaneLineNumberingIsDisabled Setting Value: true

This option lets you disable the line numbers that appear in list views, the Dispatch Board, and New Call.

Service Recommendations

Id: sys-ffv-global-settings

Setting Key: ServiceRecommendationsDisabled Setting Value: true

This entry disables the display of the Service Recommendations screen when a Work Order is completed from the Dispatch Board or the Work Order viewer. The Closing Call script (if specified in the Work Order) will still be displayed when the Work Order is completed. See Service Recommendations for additional information.

 

Sales Tax Maximum per Invoice

Id: sys-ffv-global-settings

Setting Key: SalesTaxMaxPerInvoice Setting Value: true

This option was originally implemented to accommodate a Sale Tax Authority rule for North Dakota, where a maximum sales tax amount per invoice is observed.

Since then, graduated Sales Tax processing has been implemented in the Sales Tax Authority Record. This allows the sales tax rate to be specified up to a certain limit. A second level (going up to the maximum limit) would be set at a sales tax rate of zero: see Sales Tax Authority Viewer for details on this preferred method (which does not require a registry entry).

If this option is implemented, the License field in the Sales Tax Authority record will used to hold the maximum sales tax amount per invoice.

If this option is implemented, it is strongly recommended that you use the Field Label Remapping function to change the label 'License Number:' to 'Max Tax per Invoice:'  If this field is being used to specify the Max Tax per Invoice in some records, it should not be used for the License number in others.

Finally, you must edit all Sales Tax Authority records and enter in the Max Tax per Invoice values where appropriate.  Only digits (0-9) and the decimal point should be entered in the field.  '25' and '25.00' are equivalent. Validation logic has been added to the Sales tax Authority viewer to prevent entry of bogus characters in the 'Max Tax per Invoice' field.

COP Freight Sales Tax by State

Id: sys-ffv-global-settings

Setting Key: CopTaxOnFreightStates Setting Value: WI,MN,ND,etc
The system will use this entry to determine which states charge sales tax on freight charges. This is applicable to Client Order Invoices only, and should reference the standard, two-character postal codes.

Purchase Order Id NOT EQUAL to Work Order Id (for Subcontractors)

Id: sys-ffv-global-settings

Setting Key: WOSubPOIdEqualsWOId Setting Value: false

A field in the WO Technician tab allows recording and tracking of PO numbers by sub by WO.  To fully implement this functionality, this option must be implemented to 'undo' the previous requirement that the WO Id and PO Ids match. 

Materials Requisitioning / Required Resource Processing

Id: sys-ffv-global-settings

Setting Key: UseWORequiredResources Setting Value: true

This entry enables Materials Requisitioning / Required Resource functionality in your firm’s work orders. If this entry is in place, a Required Resource tab will appear on your work orders (unless overridden by the sys-viewer-vwrkordr child tabs option). In addition, the Generate PM WOs function will post PM Service Parts to the WO Required Resources tab when this registry option is set. In Version 7.3 and earlier, work orders generated with this setting enabled will ALWAYS be set to Waiting Parts.

Required Resources PM Work Order Status in Version 8.0+
In previous releases, if the above registry entry was set, all new Work Orders were set to Waiting Parts, even if the following registry was set to NOT use required resources on PM’s and no parts existed on the PM:

RegistryID:  sys-start-scrtepmwo
Setting Key: DisableReqPMParts Setting Value: true

In this release PM Work Orders will ONLY be set to Waiting Parts if Required Resource parts (from flagged Service Parts lines) will be written to the PM. Otherwise, PM work orders with no tech assigned will be set to Waiting Service, and PM work orders with a tech assigned will be set to the default status for that type of tech.

Id: sys-ffv-global-settings

Setting Key: UseQuoteRequiredResources Setting Value: true

If this registry option is implemented, the system will use the following rules when generating work orders/po’s from Quotes:

If a Vendor is not specified in an Inventory or Subcontractor line, the regular Quotemaster processing will occur AND lines will be written to the Required Resource Tab.

If a Vendor is specified on the Inventory or Sub tabs, the applicable purchase orders will be created and these lines will NOT be written to the Required Resource tab.

Import Required Resource Costs from JCH (Job Budget)

When Inventory Items are entered on the Job's Budget tab, the Last overall cost, overall Average, or Standard cost is defaulted in, depending on whether the item's Cost Method is set to Last, Average or Standard.  The budget's Cost field may be changed by the user.

By default, when Required Resources are imported to the Work Order Required Resource tab from the Job Budget / JCH history, the applicable Cost for the Work Order's Staging location (defined by the sys-viewer-vshpordr registry's MaterialReqFromLocation option) is used, overriding Costs entered manually or by default on the Job Budget tab.  In this release, a registry option has been added to use the Cost entered on the Job Budget tab instead. Separate entries enable this feature to be implement for Inventory Items and Miscellaneous Materials separately.

Registry Id: sys-ffv-global-settings

Setting Key: DefaultRequiredResourceCostsFromJCHBudgetsINV  Setting Value: true (default false)

When this option is set to true, the system will use the job history cost (from the Job Budget) when importing Inventory Item Work Order Required Resources from JCH. If the Job Budget tab includes multiple lines for the same item, the cost entered on the latest line for that item will be used in the import. If the Cost from JCH (on the Job Budget) is zero, the Last Cost from the Staging Location will be imported.

This option should be enabled if the Job Budget is manually adjusted, and it more desirable to import these costs (when available) than the most recent ones recorded for the work order's staging location.

This option is also considered when the Work Order's RR Wizard is run. If this option is set to true,  the system uses the current Required Resource tab cost. If this registry is not set, the Vendor's last cost is used (previous default behavior).

Setting Key: DefaultRequiredResourceCostsFromJCHBudgetsMISC    Setting Value: true (default false)

When this option is set to true, the system will use the job history cost (from the Job Budget) when importing material (non-inventory) Work Order Required resources from JCH.  If this option is not enabled if the Job Budget, the cost of imported non-inventory material will always be set to zero.

This option is also considered when the Work Order's RR Wizard is run. If this option is set to true,  the system uses the current Required Resource tab cost. If this registry is not set, the cost is set to zero (previous default behavior). This setting is recommended even if the inventory option (see above) is not, as it allows the cost on the Required Resource tab to be written to the Purchase Order.

Work Order Required Resources – Vendor Defaulting for Manual Entries

Currently, the default Vendor (in the Inventory Item record) does not default when you enter a Required Resource line manually or as a result of generating a PM Work Order with flagged parts - the idea being that aggregation will be used. Customers that wish to generate individual po's for the work orders required resources (using the RR Wizard button in the work order) must individually set the Vendor Id in each line.

The following registry entry changes this behavior so that the system will default in the Vendor Id from the Inventory record (if set) on manual Work Order Required Resource entries and on Create PM Workorders.

Id: sys-ffv-global-settings

Setting Key: DefaultRequiredResourceVendorFromInventory   Setting Value: true (default is false)

Default Vendor when Importing Required Resources from JCH Budgets

The Import RR button on the Required Resource Tab displays a prompt screen to enable the user to import Required Resources from either Job History or an external spreadsheet (.cvs file). A new Option, Use Default Vendor, has been added to the prompter screen for both the Job History and Spreadsheet imports. This option would generally not be used if full-fledge requisitioning (Start Material Requisitioning) is enabled.   

The following registry is now used as the default setting for the Use Default Vendor field:

Id: sys-ffv-global-settings

Setting Key: DefaultRequiredResourceVendorFromJCHBudgets  Setting Value: true   (default false)

Regardless of this setting, the Use Default Vendor flag rules on how the Vendor is or is not set on imports as detailed below:
Prompter Screen for Import from Job History:

Use Default Vendor?

This field is initially set via registry, but may be changed by the user.

If Use Default Vendor? is flagged, the system will use the default Vendor from the Inventory Item record's Purchasing tab (if specified) during the import.

If Use Default Vendor? is blank no Vendor will be defaulted during the import.

Prompter Screen for Import from a Spreadsheet

Use Default Vendor?

This field is initially set via registry, but may be changed by the user.

If Use Default Vendor? is flagged and the Vendor is specified in the spreadsheet, the system will use the spreadsheet's Vendor during the import.

If Use Default Vendor? is flagged, and a Vendor is NOT specified in the spreadsheet, the system will use the default Vendor from the Inventory Item record's Purchasing tab during the import.

If Use Default Vendor? is blank, the system will always use the Vendor from the spreadsheet during the import, even if it is blank.

COP Dropship Options

Id: sys-ffv-global-settings

Setting Key: COPDropShipReceipts Setting Value: option 

Where option is replaced by manual, serialized or automatic (the default value if no entry is created). This allows entry of receiving transactions for serialized inventory items in order to get serial numbers into IMH.  In certain cases, this is needed for sales reporting and warranty tracking.

'Manual' requires ALL drop ship items to be received via the Receiving
Journal.

'Serialized' requires only serialized, drop ship items to be received
via the Receiving Journal.

If this registry setting is not specified, SAM Pro continues to function
as it does now, with Dropshipped items ‘receipted’ in the AP Journal

Receive COP Drop Shipped Items in the IRJ and Allow Invoicing

This enhancement allows the Inventory Receipts Journal to ‘receive’ drop shipped Client Orders. This will allow the Client Order to be invoiced earlier in the workflow cycle. When implemented via registry, the Inventory Receipts Journal will create the appropriate clntordrtoshp records for Invoicing. When the Vendor’s invoice is eventually vouchered, the AP Journal will skip making the clntordrtoshp records if it determines that they have already been created by the IRJ.

The following sys-ffv-global-settings registry option will be used to determine whether the IRJ or the APJ will be used to create the necessary clntordrtoshp records: COPDropShipReceiptsVia. If the corresponding value is ‘IRJ’, the Inventory Receipts Journal will create the clntordrtoshp records. Any other value (or a missing key) will retain the current behavior where the APJ will create the clntordrtoshp records.

The existing COPDropShipReceipts key must be also be set to manual, as shown below.

Id: sys-ffv-global-settings

Setting Key: COPDropShipReceiptsVia Setting Value: IRJ (default is APJ)

Setting Key: COPDropShipReceipts Setting Value: manual

Eliminate ‘This important message generates by SAM Pro" On Escalation Messages

Id: sys-ffv-global-settings

Setting Key: byline Setting Value:

This entry sets the ‘byline’ to blank. THIS WILL Suppress / disable THE MESSAGE "This important message auto-generated by SAM Pro Enterprise – www.databasics.com " that is included on all escalation email messages by default.

 

Accounting Period Update on Log In

These options provide registry controlled log-in options to evaluate the system date to activate and set the default property of the accounting period which includes that date. If one of these options is implemented, the system will display a message box that informs the user that this has occurred. We recommend discussing this option with your support representative before implementing it.

Id: sys-ffv-global-settings

Setting Key: UpdateAccountingPeriodsDuringLogin Setting Value: SetDefault

When this option is implemented, the system will compare the system date with the Accounting Period currently flagged as Default. If the system date falls with the default accounting period date range, no action will be taken. If not, the system will evaluate the other account period records, and activate and set the default property of the accounting period that includes that date.

Setting Key: UpdateAccountingPeriodsDuringLogin Setting Value: true

This option is similar to the previous but also inactivates all other accounting periods and should only be used with caution. When this option is implemented, the system will compare the system date with the Accounting Period currently flagged as Default. If the system date falls with the default accounting period date range, no action will be taken. If not, the system will evaluate the other account period records, and activate and set the default property of the accounting period that includes that date, inactivate all other accounting periods.

Execute ‘New Record’ or Refresh on Adding and or Changing Record

Id: sys-ffv-global-settings

Setting Key: NewRecordAfterAdd Setting Value: true
Setting Key:
NewRecordAfterChange Setting Value: true
These options will execute the ‘new record’ function each time a record is added (NewRecordAfterAdd) and/or an existing record is saved (NewRecordAfterChange). This registry option pertains to all static records (such as the client site) as well as journals.

It can also be implemented for individual viewers instead of globally.  For example, the Labor Journal viewer registry entry would be as follows...

Id: sys-viewer-vlbrjrnl
Setting Key: NewRecordAfterAdd Setting Value: true
Setting Key: NewRecordAfterChange Setting Value: true

A related registry simulates the pressing of the Refresh button after a record is added or changed. This registry was implemented for earlier versions of the software, but is generally not needed in recent versions and should probably be disabled as it will impact performance.

Setting Key: RefreshRecordAfterAdd  Setting Value: true
Setting Key: RefreshRecordAfterChange   Setting Value: true

 

For Canadian Invoicing: Sales Tax on Holdbacks

Id: sys-ffv-global-settings

Setting Key: ExcludeRetainageFromSalesTaxBase Setting Value: true

By default, sales tax calculation are based on an invoice's gross sale amount (including retainage or amounts being "held back").  For Canadian invoicing, the GST/PST calculation should be a function of the "invoice total, net of hold backs" NOT the "gross sale" amount. Implementing this registry entry will cause retainage/hold backs to be excluded from sales tax base, and the sales tax on those amounts will instead be assessed when the retainage/hold back is "released" on a later invoice.

Create Note on Changing or Adding Record

Id: sys-ffv-global-settings

Setting Key: AutoDocumentAfterAdd Setting Value: true
Setting Key:
AutoDocumentAfterChange Setting Value: true
These options will create and display a Note each time a record is added (AutoDocumentAfterAdd=true) and/or an existing record is saved (AutoDocumentAfterChange=true). The user should then enter the reason for the changes to / addition of the record, and save and close the note. This registry option pertains to all static records (such as the client site) as well as journals.

These options can be implemented for individual viewers instead of globally. We highly recommend implementing one or both of these options on an individualized, viewer-by-viewer basis. See Registry Entry to Create Note on Add or Change for details.

Specify Lines Per Inch for GL Report 3 (user-defined GL reports)

Id: sys-ffv-global-settings

Setting Key: GLReport3LinesPerInch Setting Value: 7.5  (or whatever value is needed)

This option enables you to set the Lines Per Inch for GLReport3 class reports. If this option is implemented, all user GL Reports that use the class GLReport3 will have their Lines per Inch set to the above registry value. This option should be used with caution as ALL lines, regardless of the font size that you have specified, will be impacted by this setting.

Preventing use of Completed Cost Codes and Billing Items

Currently, the system warns you if you enter a billing item or job cost code whose Date Completed exceeds the effective transaction date. It's also important to note that the validation logic implemented by this registry entry only applies when either a Cost Code Id or a Billing Item Id field's value is explicitly changed by the data entry user.  The WO child tabs are examples where the new validation logic DOES NOT automatically apply.  This is due to the fact that the initial values for a child's Cost Code and Billing Item are defaulted from the WO parent and not explicitly keyed in by the data entry user.

Id: sys-ffv-global-settings

Setting Key: CostCodeDateCompletedValidation Setting Value: error

Setting Key: BillingItemDateCompletedValidation Setting Value: error

The Cost Code and Billing Item registry entries are independent from one another.  Each is controlled by its own registry setting. The global settings entry would change the current warning to an error for the following viewers...

AP Journal General - AP Journal PO - AP Journal CM
Inventory Adjustments Journal
Inventory Journal
Inventory Receipt Journal
Job Journal Labor and Expenses
Labor Journal Hours and Labor Journal Other
PO General, Inventory and Subcontract
Shop Order Journal
WO parent (uses WO Date Opened), Labor, Inventory, Other and Revenue Adjustments

Special Processing in New Call: This enhancement also changes New Call processing to validate the Date Completed in the Job Cost Code and Billing Item when Add button is pushed.  If this sys-ffv-global-settings entry is in place, an error message will appear and the user will not be able to create the work order. If this entry is not implemented, the user will be warned if the Job Cost Code or Billing Item have been completed, but will be allowed to create the work order.

As an alternative to the global setting, the user can elect to switch the warning to an error for any of the individual viewers noted above by inserting similar settings in the journal's registry entry (i.e. sys-viewer-vlbrjrnl).

Registry Option to Alert User on WO Status Change and Quote line open

This registry option pops a message if a work order status is set to Complete or Cancel and there are any open Quote Scope lines referencing the work order. Message: "There are open quotes indicated-Please update quote status."

Id: sys-ffv-global-settings

Setting Key:  WarnOpenQuotesForWO Setting Value: true

Other Rate Filtering

Implementing this registry option filters the Other Rates displayed on the pick view to those referenced in the Job’s Rate Schedule. Typically, this would be implemented for sys-viewer-vwrkordr to limit the list of Other Rates displayed when the user double-clicks the Other Rate Id on the Work Order’s Other Rate tab. If implemented globally, the Work Order Viewer, Work Order Entry, Labor Journal (Other Tab), Purchase Order (General and Subcontractor tabs),Quote Viewer (Other, Material and Subcontractor tabs) AP Journal and Recurring AP Journal will be impacted.

if the Vendor has a Service Provider Rate Schedule, and the global registry is enabled, in the PO the filtering is by the Job's rate schedule, but the $'s are from the Vendor's rate schedule.

Id: sys-ffv-global-settings  or sys-viewer-{function id}

Setting Key: FilterOtherRatesByJobRateSchedule
Setting Value: true

Non-Service Compute Invoicing on Fixed Fee Job Work Orders: Require ‘Invoice Ready’

Id: sys-ffv-global-settings

Setting Key: DisableCase1991 Setting Value: true (default false)

If this registry entry is implemented, anyone entering labor or materials to a Work Order associated to a non-service compute job (RININV3 or RINVIN4) will have to continue to mark these Work Orders 'Ready to Invoice'  for the unbilled costs to appear in Record Billing Adjustments providing the Job's billing item is FIXED FEE & RININV3 or RININV4. This restores the system’s previous default behavior which was changed in version 7.0

Note that NO changes were made to the way non-fixed fee Jobs work: users must mark these 'ready to invoice' for them to appear in Record Billing Adjustment (e.g., Time&Material Change Orders).   

Save Scanned Documents as PDF’s

By default, the Scan Document Wizard saves the scanned documents as .jpg files. The following enhancement enables you to save scanned documents as .pdf files.

Id: sys-ffv-global-settings

Setting Key: StoreDocumentsAsPDF Setting Value: true

Important Note: if more than one page is scanned, each page will be saved as a separate .pdf file. Additional pages must be accessed from the Other Files tab of the Document Viewer: individual .pdf files will not be combined for viewing like .jpg and .bmp files.

Implementing this feature will eliminate the unlimited browse issue experienced when .jpg files are displayed by the Windows Fax viewer.

Multiple Page PDF Scanning in SAM Pro

Recent versions of SAM Pro support multiple-page PDF scanning at least some sheet-feed scanners. Thus far, this functionality has been tested on the Xerox DocuMate 515, the Xerox DocuMate 150, and the Dell v515W.

1. To accomplish this, a Twain driver compatible with the user’s operating system must first be downloaded and installed on the user’s computer.

2. Next, the following registry option should be set in sys-ffv-global settings:

Setting Key: StoreDocumentsAsPDF Setting Value: true

3. If all users will be employing a sheet feed scanner, your sys-document-archive registry should include the following parameter setting in addition to the other required settings:

Setting Key: defaultscanparms Setting Value: /SCAN /FEEDER /PDF+

4. If some of your employee have sheet feed scanners, and others do not, you will need to make multiple Document Archive registry entries.

Example:

Assume most employees have sheet feed scanners, but user MARYANN has an older flatbed model. In this case, the base registry entry sys-document-archive would be as shown in step to. To support user MARYANN, the above entry would be cloned as sys-document-archive--MARYANN (or sys-document-archive-Branch1-MARYANN if branches are used) and the defaultscanparms option Disabled.

Preview Report as PDF

When this option is enabled, reports will be previewed as PDF’s instead of in SAM Pro’s Report viewer. This option may be implemented GLOBALLY for all reports that do NOT require posting (e.g., invoices, po’s, etc.) by creating the following registry setting:

Id: sys-ffv-global-settings

Setting Key: PreviewReportsAsPDF Setting Value: true

Alternately, this option may be applied to individual reports using the sys-report-functionid registry entries.

If this option is set to true globally,it may be disabled on an individual report basis by implementing the following registry:

Id: sys-report-reportfunctionid

Setting Key: PreviewReportsAsPDF   Setting Value: false

Cache All Registry Options

This build enables the caching of all registry options for performance purposes. When enabled, the user must log off and on again to see all registry changes, not just those for sys-ffv-global-settings and other global entries. The default behavior has NOT been changed.  The registry entry that enables the caching is as follows:

Id: sys-ffv-global-settings

Setting Key: cacheregistry Setting Value: true

Note that when this registry entry is enabled, the system will display the warning that the warning that the registry entry is cached for all registry entries, and that the user must log off to see the change.

 

Create a Local Temp Directory on the User’s Computer:

Id: sys-ffv-global-settings

Setting Key: SamproTempDirectory
Setting Value:
C:\sampro\temp (Must be a valid local directory on ALL user’s systems!).

During report saving, if the regular directory the report is to be saved to is not valid or accessible the temporary directory will be used. If the temporary directory is valid then any specified subdirectories can be created. This allows for files to be saved locally and a document record created even if there is a network ‘hiccup’ that interrupts writing to the server.

Disable the use of the Hourly Burden Rate field in the Job Cost Code

Id: sys-ffv-global-settings

Setting Key: DisableCostCodeHourlyBurdenRate Setting Value: true

With this field disabled, the user will not be permitted to enter a value into the Cost Code Hourly Burden Rate field in the Job Cost Code viewer. In addition, the Registry viewer will confirm that the new registry entry cannot be implemented if there are any existing Cost Codes containing non-zero Hourly Burden Rates, and give you the option of clearing any existing burdens from the records.

This registry is recommend for almost every SAMPro installation.  The Job Cost Code Hourly Burden was implemented for use with Shop Order Job Costing, If you put something in that field, you might not like the impact it has on job history.

Override Security Processing

If this option is implemented, the security rn override processing will be implemented for the following functions so that the security of the new record is determined by the security of the Job, not the User.

Note that if this option is implemented in sys-ffv-global-settings, the following functions will assign the security id from the job (not the user) to the records and history that they generate:

1. Purchase Orders (must have a WorkOrder or Job in the header for this functionality to be in effect.)
2. Work Orders (from New Call, Quotemaster, and the Work Order viewer)
3. Quotes
4. Create PM WOs
5. Create PM Billing (Important Note: PM Accruals will be assigned the security of the user).
6. Record Billing Adjustments / Progress Billing
7. AR Sales Journal
8. Compute Service Invoice
9. Reverse Job Invoice

Important Note: journals that do not include a Job id in the header (such as the Labor journal) will not be included in the SecurityOverrideFrom=job functionality. Therefore, if you want your labor hours to been assigned job security, they should be entered the Work Order, not in the Labor Journal.

The following entry implements the override globally for the functions noted above.

Id: sys-ffv-global-settings

Setting Key: SecurityOverrideFrom Setting Value: job

If a global override isn't desired, the individual functions can be controlled by making the ‘SecurityOverrideFrom' entry in the registry entries specific to given functions.

Note that support only exists for using the job as an override at the current time.  The one exception to this is the Quote viewer which will use the Client Site's security for Quotes that do not refer to a specific job.

WARNING:

The Security Override from Job option should NEVER be used in conjunction with the following registry settings:  Registry Id:         sys-securityexceptionsbytable

 Contents:      ExceptionProperty=IncludeOnly

Doing so will lead to undesirable results in your security setup.

Hard Block on Branch Filtering

This functionality is implemented via the following registry option:

Id: sys-ffv-global-settings

Setting Key: BranchFilterWithHardBlock Setting Value: true

Implementing the registry setting causes Branch Filtering to behave similarly to Security Filtering: even if the user clears the Branch Id range, only those Branches that match his or her Branch filter (in the User record) will appear. One significant difference is that a blank Branch Id is not treated as global record. See the User record for additional information on setting up the Branch filter.

The Client Site, Employee, Invoice Master, Job, Quote, Scheduled Event, User, Vendor, Vendor Invoice and Work Order records are impacted by this registry entry. Hard Block Branch Filtering is also implemented for Create PM WO’s & Create PM Billing: Even if the user clears the Branch Id range when running these functions, only those Branches that match his or her Branch filter (in the User record) will appear if this registry option is in effect.

This functionality does NOT extend to reporting EXCEPT for service invoicing so that a user cannot produce service invoices for WOs not included in the user's branch filter definition.

Specify a Branch Prefix in Record Id’s

This registry option enables you to prepend the Branch Prefix (from the Branch record) to various SAMPRO auto-sequenced Id fields.  For example, if "CL" is the prefix for the Cleveland branch, then each work order created for Cleveland could begin with CL followed by the next sequential work order number IF the registry entry (below) is implemented. NOTE: this enhancement DOES NOT implement separate record sequencers by branch.  Consider the case of a company with branches in Cleveland, Columbus and Cincinnati.  Standard SAMPRO code would assign Work Order Ids sequentially based on the value contained in the database table named nextwo.  Code from this case would take the "standard" sequential value and prefix it with the appropriate branch prefix.  The actual work order id assignments might look like this ...
  CL100001  (Cleveland)
  CI100002  (Cincinnati)
  CL100003  (Cleveland)
  CO100004  (Columbus)

The code that determines which branch prefix to use varies depending on the record. In order to implement the branch prefixing discussed above, the following registry option must be in place:

Id: sys-ffv-global-settings

Setting Key: BranchSequence
Setting Value:
"a comma-delimited list of sequencer tables that should be prefixed"

This feature was implemented in a general way.  That means any of the sequencers (except nextrn) can be prefixed.  For example, including 'nextapjrnl' in the list would cause the AP Journal Ids to get prefixed.

Example: to implement prefixing for invoices, work orders, quotes and purchase orders, the global settings options would look like this:

Setting Key: BranchSequence Setting Value: nextinvce,nextwo,nextqte,nextprchseordr

Important Note: The Source of the Branch Id in New Call
In New Call, the Branch must be specified in the User Record, or via the BranchOverrideFrom option (see below) in order for Branch Prefixing to be enabled.

Branch Id Override for National Call Center processing

The Branch override processing has been implemented for the following functions so that the Branch of the new record is determined by the Branch of the Job (if present), not the User. The Branch override processing has been implemented for the following functions ...

1. New Call
2. Purchase Orders created in the PO viewer, from Generate Purchase Order, as a part of PM and New Call processing, Quotemaster and Materials Requisitioning, from TechAnywhere and SubAnywhere.
3. Work Orders created in the Work Order Viewer and from Quotemaster, and TechAnywhere.
4. Quote / Quote Manager viewer
5. Create PM WOs
6. Create PM Billing
7. Record Billing Adjustments

The following entry implements the override globally for the functions noted above.

Id: sys-ffv-global-settings

Setting Key: BranchOverrideFrom Setting Value: job

If a global override isn't desired, the individual functions can be controlled by making the ‘BranchOverrideFrom' entry in the registry entries specific to given functions. Note that support only exists for using the job as an override at the current time.  The one exception to this is the Quote viewer which will use the Client Site's security for Quotes that do not refer to a specific job.

Important Note on Branch Defaulting:
When the registry entry is set to use the Job's Branch, there is no fallback to the Branch in the User account if the Branch in the Job record is blank.

 

Prepaid Sales / Use Tax included in inventoried cost

This change allows the 'use' taxes that are included on inventory purchases to become part of the inventoried cost.  This concept is an extension of the work done for SAMPRO Canadian installations – it allows PST to be treated as part of the inventoried cost.

Basically, if you purchase inventory to stock and associate the purchase to a Sales Tax Group that has one or more Authorities marked as Job Cost = True, then the inventoried cost includes the purchase price plus the tax associated with the JC=True authorities. Registry option to implement for ‘Job Cost’ tax authorities:

Id: sys-ffv-global-settings

Setting Key: InventoryCostIncludesTax Setting Value: true

In Version 9.0 and above, taxes are calculated based on the 'job cost' Tax Group in the PO Header, NOT the Vendor record. Changing the Tax Group on a PO detail recomputes the sales tax on that line.

Inventory Revenue Based on Last Cost

Id: sys-ffv-global-settings

Setting Key: InventoryRevenueFromLast Setting Value: true

This setting forces revenue calculations for inventory parts not flagged as Use Unit Price to perform the markup based on Last Overall Cost (for any location) regardless of costing method chosen in part record. Inventory that is flagged as Use Unit Price will continue to have the revenue calculated at the unit price.