Calculators
The types of calculators are listed in the table below.
Calculator | Description |
---|---|
salary | Calculate your net pay or "take home pay" by entering your per-period or annual salary along with the pertinent federal, state and local W-4 information |
hourly | Take home pay is calculated based on up to six different hourly pay rates that you enter along with the pertinent federal, state and local W-4 information |
grossup | Gross up wages based on net pay. For example, if an employee receives $500 in take-home pay, this calculator can be used to calculate the gross amount that must be used when calculating payroll taxes. It determines the amount of gross wages before taxes and deductions that are withheld, given a specific take-home pay amount |
flatbonus | Uses supplemental tax rates to calculate withholding on special wage payments such as bonuses. If your state does not have a special supplemental rate, a message will be returned. This is state-by state compliant for those states who allow the aggregate method or percent method of bonus calculations. The following states do not support this type of calculation: AZ, CT, DE, HI, KY, LA, MA, MS, NJ, UT, WY, DC, PR |
agbonus | Uses your last paycheck amount to apply the correct withholding rates to special wage payments, such as bonuses. This is state-by state compliant for those states that allow the aggregate method or percent method of bonus calculations |
401k | Calculator to see how increasing your contributions to a 401(k) can affect your paycheck and your retirement savings |
403b | Calculator to see how increasing your contributions to a 403(b) can affect your paycheck and your retirement savings |
finalpay | Calculator that allows payout amount with current and prior pay period information for employee termination |
stockoption | Calculator that will allow you to determine the net gain or loss from selling stock and any subsequent taxes owed. |
tuition | Calculator that will allow a tuition amount to be added to compute taxes |
taxtip | Similar to hourly calculator but will allow a tax amount to be added to the gross pay to compute taxes on tips plus regular wages |
List calculators
GET https://calculators.symmetry.com/api/calculators
Response
X-Pcc-Api-Exp-Date : 2016-06-02 00:00:00
X-Pcc-Api-Limit : 2500
X-Pcc-Api-Remaining : 2499
{
"content": "Calculators",
"_links": {
"self": {
"href": "https://calculators.symmetry.com/api/calculators"
},
"salary": {
"href": "https://calculators.symmetry.com/api/calculators/salary"
},
"hourly": {
"href": "https://calculators.symmetry.com/api/calculators/hourly"
},
"grossup": {
"href": "https://calculators.symmetry.com/api/calculators/grossup"
},
"bonus-percent": {
"href": "https://calculators.symmetry.com/api/calculators/flatbonus"
},
"bonus-agregate": {
"href": "https://calculators.symmetry.com/api/calculators/agbonus"
},
"401k": {
"href": "https://calculators.symmetry.com/api/calculators/401k"
},
"403b": {
"href": "https://calculators.symmetry.com/api/calculators/403b"
},
"finalpay": {
"href": "https://calculators.symmetry.com/api/calculators/finalpay"
},
"stockoption": {
"href": "https://calculators.symmetry.com/api/calculators/stockoption"
},
"tuition": {
"href": "https://calculators.symmetry.com/api/calculators/tuition"
},
"taxtip": {
"href": "https://calculators.symmetry.com/api/calculators/taxtip"
}
}
}
List calculator model
Get the JSON model definition for a given calculator.
GET https://calculators.symmetry.com/api/calculators/:calculator
Parameters
Name | Type | Description |
---|---|---|
state | string | Any state abbreviation, Eg: CA. Default AZ |
format | string | Can be model or fields. Default model. model returns json model object. fields returns an array of field objects. Field objects has properties such as field name, label value, default value, regex, and help text value. |
string | Can be true or false. Default false. true will add the print object as a nested object in the model object if model was entered. true will add the print fields if fields was entered. | |
imputed | string | Can be true or false. Default false. true will add the otherIncome array as a nested object in the model object if model was entered. true will add the other income fields if fields was entered. |
Important note:
For the response below, 'salary' has been substituted for :calculator in the
above request.
Response
X-Pcc-Api-Exp-Date : 2016-06-02 00:00:00
X-Pcc-Api-Limit : 2500
X-Pcc-Api-Remaining : 2499
{
"content": {
"checkDate": 1446490961852,
"state": "AZ",
"voluntaryDeductions": [
{
"deductionName": "",
"deductionAmount": 0,
"deductionMethodType": "PERCENT_OF_GROSS",
"exemptFederal": false,
"exemptFica": false,
"exemptState": false,
"exemptLocal": false,
"benefitType": "_Custom"
}
],
"stateInfo": {
"parms": [
{
"name": "additionalStateWithholding",
"value": "0"
},
{
"name": "PERCENTSTATE",
"value": "2.7"
},
{
"name": "stateExemption",
"value": false
}
]
},
"grossPay": 0,
"federalFilingStatusType": "SINGLE",
"federalAllowances": 0,
"exemptMedicare": false,
"exemptFederal": false,
"exemptFica": false,
"grossPayYTD": 0,
"additionalFederalWithholding": 0,
"roundFederalWithholding": false,
"grossPayType": "ANNUALLY",
"payFrequency": "WEEKLY"
},
"_links": {
"self": {
"href": "https://calculators.symmetry.com/api/calculators/salary?state=Arizona&format=model"
},
"calculate": {
"href": "https://calculators.symmetry.com/api/calculators/salary?showcalc=false"
}
}
}
Important note:
For the response below, 'salary' has been substituted for :calculator in the
above request and print=true has been added as a request parameter.
Response with print object
{
"content" : {
"checkDate" : 1451406084313,
"state" : "AZ",
"voluntaryDeductions" : [ {
"deductionName" : "",
"deductionAmount" : 0,
"deductionMethodType" : "PERCENT_OF_GROSS",
"exemptFederal" : false,
"exemptFica" : false,
"exemptState" : false,
"exemptLocal" : false,
"benefitType" : "_Custom"
} ],
"stateInfo" : {
"parms" : [ {
"name" : "additionalStateWithholding",
"value" : "0"
}, {
"name" : "PERCENTSTATE",
"value" : "2.7"
}, {
"name" : "stateExemption",
"value" : false
} ]
},
"print" : {
"id" : "",
"employeeName" : "",
"employeeAddressLine1" : "",
"employeeAddressLine2" : "",
"employeeAddressLine3" : "",
"companyName" : "",
"companyAddressLine1" : "",
"companyAddressLine2" : "",
"companyAddressLine3" : "",
"companyNameOnCheck" : false,
"checkNumberOnCheck" : false,
"checkNumber" : "",
"checkDate" : 1451406084313,
"remarks" : ""
},
"grossPay" : 0,
"federalFilingStatusType" : "SINGLE",
"federalAllowances" : 0,
"payFrequency" : "WEEKLY",
"exemptFederal" : false,
"exemptFica" : false,
"grossPayType" : "ANNUALLY",
"grossPayYTD" : 0,
"additionalFederalWithholding" : 0,
"roundFederalWithholding" : false,
"exemptMedicare" : false
},
"_links" : {
"self" : {
"href" : "https://calculators.symmetry.com/api/calculators/salary?state=Arizona&format=model&print=false"
},
"calculate" : {
"href" : "https://calculators.symmetry.com/api/calculators/salary?report=&showcalc=false"
}
}
}
List calculator form fields
There is another way to get the calculator model and that is requesting a list of calculator form fields. Each object in the list will have information such as the label name, fields name, default value, and a regular expression for validating client side code. The request is the same as getting the model with the format parameter set to fields.
GET https://calculators.symmetry.com/api/calculators/:calculator?format=fields
Response
X-Pcc-Api-Exp-Date : 2016-06-02 00:00:00
X-Pcc-Api-Limit : 2500
X-Pcc-Api-Remaining : 2499
{
"content": [
{
"name": "grossPay",
"type": "DOLLAR",
"label": "Gross Pay",
"defaultValue": 0,
"regex": "^[0-9]\\d*?(\\.[0-9]{1,2})?$",
"listVals": null,
"helpText": "",
"order": 2,
"readOnly": false
},
{
"name": "federalAllowances",
"type": "INTEGER",
"label": "# of Federal Allowances",
"defaultValue": 0,
"regex": "^[0-9]\\d*$",
"listVals": null,
"helpText": "",
"order": 7,
"readOnly": false
},
// additional fields omitted....
],
"_links": {
"self": {
"href": "https://calculators.symmetry.com/api/calculators/salary?state=Arizona&format=fields"
}
}
}
Calculate
Post a calculator object - returns calculation response.
POST https://calculators.symmetry.com/api/calculators/:calculator
Parameters
Name | Type | Description |
---|---|---|
showcalc | string | Can be true or false. Default false. Show the calculator object in the response object. |
report | string | Can be all, checktop, checkmiddle, checkbottom, earnings, paystub (if finalpay calculator), or omitted (empty string ""). Default value is omitted. Adds a map of reports in the form Map where the key id the name of the report and the value is a byte array. |
Important note:
For the response below, 'salary' has been substituted for :calculator in the
above request.
Response
X-Pcc-Api-Exp-Date : 2016-06-02 00:00:00
X-Pcc-Api-Limit : 2500
X-Pcc-Api-Remaining : 2499
{
"content": {
"federal": 0,
"medicare": 0,
"fica": 0,
"eic": 0,
"state": 0,
"netPay": 0,
"grossPay": 0,
"voluntaryDeductions": [
{
"name": "",
"value": "0.0"
}
],
"stateTaxTypes": [],
"localeTaxes": [],
"timeStamp": 1446497846869
},
"_links": {
"self": {
"href": "https://calculators.symmetry.com/api/calculators/salary?showcalc=false"
}
}
}
Important note:
For the response below, 'salary' has been substituted for :calculator in the
above request and report=checktop has been added as a request parameter.
Response with report checktop
{
"content": {
"federal": 148.44,
"medicare": 13.94,
"fica": 59.62,
"eic": 0,
"state": 25.96,
"netPay": 713.5799999999998,
"grossPay": 961.54,
"voluntaryDeductions": [
{
"name": "",
"value": "0.0"
}
],
"stateTaxTypes": [],
"localeTaxes": [],
"calculator": {
"checkDate": 1451406858017,
"state": "AZ",
"voluntaryDeductions": [
{
"deductionName": "",
"deductionAmount": 0,
"deductionMethodType": "PERCENT_OF_GROSS",
"exemptFederal": false,
"exemptFica": false,
"exemptState": false,
"exemptLocal": false,
"benefitType": "_Custom"
}
],
"stateInfo": {
"parms": [
{
"name": "additionalStateWithholding",
"value": "0"
},
{
"name": "PERCENTSTATE",
"value": "2.7"
},
{
"name": "stateExemption",
"value": false
}
]
},
"print": {
"id": "1",
"employeeName": "test",
"employeeAddressLine1": "test",
"employeeAddressLine2": "test",
"employeeAddressLine3": "test",
"companyName": "",
"companyAddressLine1": "",
"companyAddressLine2": "",
"companyAddressLine3": "",
"companyNameOnCheck": false,
"checkNumberOnCheck": false,
"checkNumber": "",
"checkDate": 1451406858017,
"remarks": ""
},
"grossPay": 50000,
"federalFilingStatusType": "SINGLE",
"federalAllowances": 0,
"payFrequency": "WEEKLY",
"exemptFederal": false,
"exemptFica": false,
"grossPayType": "ANNUALLY",
"grossPayYTD": 0,
"additionalFederalWithholding": 0,
"roundFederalWithholding": false,
"exemptMedicare": false
},
"timeStamp": 1451406934832,
"reports": {
"Check on top": "JVBERi0xLjQKJeLjz9MKMiAwIG9iago8PC9MZW5ndGggNjA0L0ZpbHRlci9GbGF0ZURlY29kZT4+c3RyZWFtCnic7VZNc5swEL3zK3TowT0gSyAJdEzSuO2hnXbKvcMU2aHjwVOgnUl/fQEJjL48NmluJAcv3n37Xpb9yK/gPgtiBlLEQFYECCD7I8QxRKm0Z6YeRGMMWQxCHPVP2x0GKcj2AQb9b30INvht9rMLPgShClVoCbiFSgVdQaWl0IhIp4EkKt/8YaJS6ReSRURlkcbCLLF6KaE0FmYhqcoiDW+Njbi+BOlI1FPugw2QBEjzX/V2Nt/EH1GBD7+rohYFyJ7KuhXdF+9Ox2NeNyCvCgB25b59Bo/l4akFD6Jqm57uwktEFMaRTYWjbcS3EcK0x4cqzJWBogRiZmd4k3SsNB3gKsaAh2djQZFYp8hRo1Y07cAp/W7Km7BGH96ENbrvJuzSXnqtb///BqExm1zh/MG7QcwCjJXTR14Hk6RLHDvAZo/LODNJjC4qwBb9S3eF84A4P+Iun6Od3tenpgFf8ufhz5JBztnnBCLumFzOMKREFkXG+CZXF2W4PfJ2ohB1frTFTYOm3htPOxWO1URSSEZ1Q4h7UE11htun7uPDnS1tmmOJpSiC3AGmHLJIbbwhwr0GTGWG26PskyjKH3ktbHVTA0m8T10H4cShzmpEXZ3h9qi7q8u/pyq3xTGkwX3iIgo5c4ib4Mw5B4Z7xuxRIQ2KMUwdKhBEUoP0K1Ay9nXibHvDPRbI3BTfpx+7SBxpKQjuWnz8z+psz6i4sxpTGn5pP3wWrWc7ID29bwJnl12fwHOCmbUeLaMA69F60dFy96R2s7SeXG/WerPWm7XerGtv1mMWfA3+AbPgslsKZW5kc3RyZWFtCmVuZG9iago0IDAgb2JqCjw8L1BhcmVudCAzIDAgUi9Db250ZW50cyAyIDAgUi9UeXBlL1BhZ2UvUmVzb3VyY2VzPDwvUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0vRm9udDw8L0YxIDEgMCBSPj4+Pi9NZWRpYUJveFswIDAgNTk1IDg0Ml0+PgplbmRvYmoKMSAwIG9iago8PC9CYXNlRm9udC9IZWx2ZXRpY2EvVHlwZS9Gb250L0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9TdWJ0eXBlL1R5cGUxPj4KZW5kb2JqCjMgMCBvYmoKPDwvSVRYVCgyLjEuNykvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbNCAwIFJdPj4KZW5kb2JqCjUgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDMgMCBSPj4KZW5kb2JqCjYgMCBvYmoKPDwvUHJvZHVjZXIoaVRleHQgMi4xLjcgYnkgMVQzWFQpL01vZERhdGUoRDoyMDE1MTIyOTA4MzUzNC0wOCcwMCcpL0NyZWF0aW9uRGF0ZShEOjIwMTUxMjI5MDgzNTM0LTA4JzAwJyk+PgplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwODQzIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMDkzMSAwMDAwMCBuIAowMDAwMDAwNjg2IDAwMDAwIG4gCjAwMDAwMDA5OTQgMDAwMDAgbiAKMDAwMDAwMTAzOSAwMDAwMCBuIAp0cmFpbGVyCjw8L1Jvb3QgNSAwIFIvSUQgWzw5ZjJmYmUzNzYyYTUyZWQ0YzdjODU0Y2M1NjU5ZThiYT48YjUxYTU0NWI0NjNhNTA1YTZkMTY0YTk3ZjEwYTk4MTY+XS9JbmZvIDYgMCBSL1NpemUgNz4+CnN0YXJ0eHJlZgoxMTYxCiUlRU9GCg=="
}
},
"_links": {
"self": {
"href": "https://calculators.symmetry.com/api/calculators/salary?report=checktop&showcalc=false"
}
}
}
Updated over 1 year ago