Calculators

The types of calculators are listed in the table below.

CalculatorDescription
salaryCalculate 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
hourlyTake 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
grossupGross 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
flatbonusUses 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
agbonusUses 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
401kCalculator to see how increasing your contributions to a 401(k) can affect your paycheck and your retirement savings
403bCalculator to see how increasing your contributions to a 403(b) can affect your paycheck and your retirement savings
finalpayCalculator that allows payout amount with current and prior pay period information for employee termination
stockoptionCalculator that will allow you to determine the net gain or loss from selling stock and any subsequent taxes owed.
tuitionCalculator that will allow a tuition amount to be added to compute taxes
taxtipSimilar 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

NameTypeDescription
statestringAny state abbreviation, Eg: CA. Default AZ
formatstringCan 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.
printstringCan 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.
imputedstringCan 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

NameTypeDescription
showcalcstringCan be true or false. Default false. Show the calculator object in the response object.
reportstringCan 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"
        }
    }
}

Jump to top