Offers & E-Signatures
Offer Formula Fields
20 min
offer formula fields provides the ability to create custom offer fields that perform mathematical or logical operations offer formula fields are available on the plus and enterprise plans true 148,148,148,150left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type creating an offer formula field to create an offer formula field you must first create an offer custom field navigate to admin in the top navigation bar, then organization setup > custom fields click the offer tab on the custom fields page select + new add in your offer custom field details including a title, description and field type click create once you have created the offer custom field, select it from the list of offer custom fields to edit it again if you'd like to make this field non editable, check the make this field non editable? checkbox in the default value field, click select field on job consideration select new calculated field select the formula field type from the type dropdown, then click create adding a formula to your offer formula field once you've created the formula field, add in your formula click the calculated field option that now shows in the default value section of the offer custom field this will take you to the formula field editor the formula editor has a few noteworthy components the title of the new formula field the editor space wherein formulas, functions, and field references are combined insert field button click to add a new field or press $ as a hotkey insert function button click to add a specialized function syntax reference button open this for formatting information to ensure your formula is correctly formatted cancel/save buttons you will only be able to save a formula field if the definition is syntactically for more on the functions and syntax, check out docid\ m2ccyt8el19tq0pwpygvf after the field is saved, it can be used in filters and groupings if you have errors in your fields, you will not be able to save them you can hover over areas of the formula highlighted in red to see the issue generating an offer formula field token for an offer letter you can also generate an offer letter token for your offer formula field when viewing your offer formula custom field, select click to generate token this will create a copyable token that you can then add to your offer letter template docx files before uploading them to ashby you can read more on offer letter templates at docid\ klimfx9n1tahebvkmgpoh and docid\ vznq4s oh 0funsp7q6u viewing an offer formula field when generating an offer your offer formula fields will calculate values once you generate an offer click create offer on the offer activity on the candidate's profile to start the process of adding in the offer details if your offer formula field relies on other offer custom fields, this is where you will fill out those offer custom field values once you've filled out the values needed for an offer's formulated field to make a calculation, the field will be pre filled with the result you will see a link icon when a default value or formula field is linked to an offer field if you'd like to override the result in the offer formula field, click into the field and make any amendments manually if you opt to override the value, then a broken link icon will show if you have checked the make this field non editable? checkbox when creating the offer formula field, you will not be able to make adjustments to the field if a token for the offer formula field has been added to the offer letter, then the token will pull the value into the offer letter after the offer details are confirmed and the offer letter has been generated an example use case for offer formula fields in our example, we'd like to calculate the total compensation for an offer, including the base salary and any signing bonuses or on target earnings (or ote) to ensure we have fields for each of the these values for our offer formula field, we would ensure the following offer custom fields have already been set up base salary (currency field type, set as required) signing bonus (currency field type, set as optional) ote (currency field type, set as optional) looking for more on creating custom fields? check out docid\ qpgklrscmzgwc 7krbwds once you've configured the fields to be used in the formula, we would then create our offer formula field for total compensation title total compensation type currency default value new calculated field formula formula coalesce ({salary}) + coalesce ({offer bonus})+ coalesce ({ote}, 0) the coalesce action here prevents null values from making the whole computation null visibility (optional) restrict to department = engineering, sales, product, etc (or whichever roles need this formula field) if this should be available for all roles, you do not need to amend the visibility offer letter (optional) generate an offer letter substitution token for this offer formula field insert it into the docx template for an offer letter so this information can be added to the candidate's offer letter when generated at the point of the offer being generated, once values have been entered for the example salary, offer bonus and ote custom fields on the offer, then the default total compensation field in our example will also be completed with the calculated result once the offer has been submitted and the offer letter has been generated, the calculated value will show in the candidate's offer letter formula field syntax reference referencing fields click the insert field button below the editor or type $ to choose a field and insert a field reference this substitutes the value of the chosen field into the expression at that position field references appear in {braces} in the expression editor numbers numbers may be integers or decimal numbers positive and negative values are supported 123 4 5 6 strings string values are single or double quoted “hello world” ‘i am text’ if you need to use a single or double quote in a string, you can either wrap the string with the other type of quote, or you can prefix it with \\\\ 'jane "example" doe' "jane \example\ doe" "john o'example" 'john o\\'example' to include a literal backslash in a string, use a double backslash "example\\\\\\\string" constants the boolean values are true , null and false field references {field name} typing { opens the field picker basic arithmetic numeric values may be added, subtracted, multiplied, or divided with +, , , / respectively 1+1 2 3 parentheses may be used for grouping ({score a} + {score b})/ 2 comparisons some operators have multiple accepted spellings, to maximize the chance of someone guessing correctly (for example, = and == ) either form is accepted; they will be normalized to the first (“canonical”) form as part of autoformatting values can be compared for equality with =and for inequality with != or <> {interviewer} = {referrer} {feedback submitted by} != {hiring manager} numeric values can additionally be compared with >, <, <=, and >= {number of job considerations} >= 3 {overall recommendation} < {average overall recommendation} comparisons may be chained together 1 <= {score} < 5 (equivalent to 1 <= {score} and {score} < 5 ) some fields contain numeric ranges use the withinoperator to check whether a value is within a range {salary expectation} within {compensation range} {score} within range(2, 8) conjunctions boolean variables can be combined with and (&, &&), or (|, ||), and not not {extended offer?} {candidate's location} != {job's location} and not {willing to relocate} supported functions the initial set of supported functions is true 206,206,206left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type left 1 1 unhandled content type function calls are written functionname(arg1, arg2, ) or functionname(name1 value1, name2 value2, ) function names are case insensitive and ignore underscores datediff , datediff , and date diff are all the same function (and will be autoformatted to datediff ) all functions come with inline syntax definitions and guidelines in app you can click on a function to view the function definition and further guidance on how to use it you can click on a field you're pulling a value from to view the full field name for reference operator precedence operations are evaluated in the following order, with operations in the same group evaluated in the order they appear in the expression (parenthesized groups) function calls() x a b, a / b a + b, a b a within b a = b , a ≠ b , a is b , a isnot b , a < b , a > b , a ≤ b , a ≥ b not x a and b , a or b