home *** CD-ROM | disk | FTP | other *** search
- From: bogatko@lzga.ATT.COM (George Bogatko)
- Newsgroups: alt.sources
- Subject: grossup - figure net salary
- Message-ID: <2004@lzga.ATT.COM>
- Date: 14 Aug 90 14:17:07 GMT
-
-
- HI:
-
- This is a program I use during salary negotiations with a
- prospective new employer. What it does is allow you to negotiate on the
- basis of NET salary instead of GROSS salary.
-
- It's an awk script, and a shell to run it, that figures out the
- result of filling out basic tax forms for both the Federal tax, and
- (for me) the New Jersey tax. Not particularly sophisticated, but
- useful.
-
- The way to use it is to change the numbers in the script
- (1000 in the example) to dollar figures that are relevant to you,
- and then invoke the script with the GROSS salary you are considering.
- What comes out among other things is your NET per month. That is the
- amount you will actually have to exist on per month, which is quite
- different than what you expect given a GROSS amount per year.
-
- There is ample precedent for negotiating on a NET amount. It is
- done all the time in the international banking and finance areas to
- "grossup" the salary of foreign employees to make sure that their
- take-home will be the same, regardless of the tax impact of the host
- nation.
-
- Gross salarys are very glamourous looking when presented, but
- after all the gotcha's are put in, the final take home can be very
- unpleasant. The answer is to negotiate on a NET basis. Since the
- very novelty of this approach can be disconcerting to employers. This
- makes it hard for beginners in the business to take such a stand. But
- if enough of us do it, it could become a standard way of doing things.
-
- GB
-
- ****** CUT HERE ****** CUT HERE ****** CUT HERE ****** CUT HERE ****** CUT HERE
-
-
- #! /bin/sh
- # This is a shell archive, meaning:
- # 1. Remove everything above the #! /bin/sh line.
- # 2. Save the resulting text in a file.
- # 3. Execute the file with /bin/sh (not csh) to create:
- # grossup
- # tax.awk
- # This archive created: Tue Aug 14 08:44:06 1990
- export PATH; PATH=/bin:/usr/bin:$PATH
- echo shar: "extracting 'grossup'" '(294 characters)'
- if test -f 'grossup'
- then
- echo shar: "will not over-write existing file 'grossup'"
- else
- sed 's/^ X//' << \SHAR_EOF > 'grossup'
- Xif [ "$1" = "" ]
- Xthen
- X echo usage: grossup wages
- X exit
- Xfi
- Xcat << EOF | awk -f tax.awk
- X
- X#
- X#income
- X#
- X
- Xwages $1
- X
- X# interest 1000
- X# dividends 1000
- X# refunds 1000
- X# other income 1000
- X
- X#
- X# deductions
- X#
- X
- X# property tax 1000
- X# mortgage 1000
- X# personal interest 1000
- X
- Xcontribs 1000
- Xexemptions 7
- X
- XEOF
- SHAR_EOF
- if test 294 -ne "`wc -c < 'grossup'`"
- then
- echo shar: "error transmitting 'grossup'" '(should have been 294 characters)'
- fi
- chmod +x 'grossup'
- fi
- echo shar: "extracting 'tax.awk'" '(2951 characters)'
- if test -f 'tax.awk'
- then
- echo shar: "will not over-write existing file 'tax.awk'"
- else
- sed 's/^ X//' << \SHAR_EOF > 'tax.awk'
- X#
- X# init
- X#
- X
- XBEGIN {
- X fed_personal_exempt = 2000.00
- X nj_personal_exempt = 1000.00
- X yearly_ssn = 3604.80
- X ssn_percent = .07
- X#
- X# NJ FACTORS
- X#
- X nj_low_income = 20000.00
- X nj_med_income = 50000.00
- X
- X nj_med_base = 400.00
- X nj_high_base = 1150.00
- X
- X nj_low_rate = .02
- X nj_med_rate = .025
- X nj_high_rate = .035
- X#
- X# FED FACTORS
- X#
- X fed_low_income = 30950.00
- X fed_med_income = 74850.00
- X fed_high_income = 155320.00
- X
- X fed_med_base = 4642.50
- X fed_high_base = 16934.50
- X
- X fed_low_rate = .15
- X fed_med_rate = .28
- X fed_high_rate = .33
- X}
- X#
- X#income
- X#
- X/^wages/ { wages = $2 }
- X/^interest/ { int_inc = $2 }
- X/^dividends/ { dividends = $2 }
- X/^other income/ { other_inc = $3 }
- X#
- X# deductions
- X#
- X/^property tax/ { prop_tax = $3 }
- X/^mortgage/ { mortgage = $2 }
- X/^personal interest/ { per_int = $3 }
- X/^contribs/ { contribs = $2 }
- X/^exemptions/ { exempts = $2 }
- X
- XEND {
- X#
- X# NJ STATE FIGURE
- X#
- X tot_income = wages + int_inc + dividends + other_inc
- X t_exempts = exempts * nj_personal_exempt
- X taxable = tot_income - t_exempts - prop_tax
- X
- X if ( taxable <= nj_low_income )
- X {
- X l_tax = taxable * nj_low_rate
- X }
- X else if ( taxable > nj_low_income && taxable <= nj_med_income )
- X {
- X l_tax = nj_med_base + ( (taxable - nj_low_income) * nj_med_rate )
- X }
- X else if (taxable > nj_med_income )
- X {
- X l_tax = nj_high_base + ( (taxable - nj_med_income) * nj_high_rate )
- X }
- X#
- X# FEDERAL FIGURE
- X#
- X tot_income = wages + int_inc + dividends + refunds + other_inc
- X deductions = l_tax + prop_tax + mortgage + (per_int * .2) + contribs
- X t_exempts = exempts * fed_personal_exempt
- X taxable = tot_income - deductions - t_exempts
- X
- X if ( taxable <= fed_low_income )
- X {
- X tax = taxable * fed_low_rate
- X }
- X else if ( taxable > fed_low_income && taxable <= fed_med_income )
- X {
- X tax = fed_med_base + ( (taxable-fed_low_income) * fed_med_rate)
- X }
- X else if ( taxable > fed_med_income && taxable < fed_high_income )
- X {
- X tax = fed_high_base + ((taxable-fed_med_income) * fed_high_rate)
- X }
- X
- X t_taxes = tax + l_tax + yearly_ssn
- X net = tot_income - t_taxes
- X m_gross = wages/12
- X ssn_deduct = m_gross * ssn_percent
- X m_net = net/12
- X m_t_taxes = m_gross - m_net
- X ss_m_net = m_net - ssn_deduct
- X
- X print "\n\n"
- X printf "total gross:\t\t\t$%.2f\n", tot_income
- X printf "monthly gross:\t\t\t$%.2f\n\n", m_gross
- X
- X printf "fed tax:\t\t\t$%.2f\n", tax
- X printf "NJ state tax:\t\t\t$%.2f\n", l_tax
- X printf "ssn:\t\t\t\t$%.2f\n", yearly_ssn
- X printf "total taxes\t\t\t$%.2f\n\n", t_taxes
- X
- X printf "monthly taxes\t\t\t$%.2f\n", m_t_taxes
- X printf "monthly ssn\t\t\t$%.2f\t\t($%.2f * %.2f)\n", ssn_deduct, m_gross, ssn_percent
- X printf "total monthly taxes\t\t$%.2f\n\n", m_t_taxes + ssn_deduct
- X
- X
- X printf "exemptions:\t\t\t$%.2f\t(%d * $%.2f)\n", t_exempts, exempts, fed_personal_exempt
- X printf "mortgage + taxes\t\t$%.2f\n\n", mortgage + l_tax
- X
- X printf "total net:\t\t\t$%.2f\n\n", net
- X
- X printf "monthly net:\t\t\t$%.2f\n", m_net
- X printf "monthly ssn\t\t\t$%.2f\n", ssn_deduct
- X printf "total monthly net:\t\t$%.2f\n", ss_m_net
- X print "\n"
- X}
- SHAR_EOF
- if test 2951 -ne "`wc -c < 'tax.awk'`"
- then
- echo shar: "error transmitting 'tax.awk'" '(should have been 2951 characters)'
- fi
- fi
- exit 0
- # End of shell archive
-