The following are the scenarios the samples assume:

Garnish1:

IRS-type of garnishment that leaves the employee with a "floor" amount of gross pay of $250.
The "floor" is defined as "net pay" - gross pay less taxes (withholding that the employer is statutorily required by law to withhold).
The garnishment has a total - $10,000 in this example - whereby the garnishment will end when that total has been withheld.
The "total" is an amount that will not be met in one calendar year, therefore this data item must roll forward.

Garnish2:
 
Child support-type garnishment that is a percentage of "net pay" - gross pay less taxes (same as Garnish1 above).
The garnishment cannot reduce the employee's gross pay below minimum wage.
This garnishment does not have a total - the garnishment will continue until an order is received by the court that the garnishment can be terminated.

The following concepts are illustrated in these examples:

These data items are setup to Post to vendor, a feature that must be activated in field 2 of the payroll parameter; this is useful for this type of deduction as there may be a quick payment turnaround requirement attached to the garnishment to be remitted within a short time of the paycheck being issued to the employee.

Both of these data items and the associated employee data items were added from scratch.
The client may or may not to elect the "detail register" option for these.
The setup is such as to accommodate more than one employee's garnishment.

For Garnish2, if the client has more than one employee with this type of garnishment, the garnishment rate may be different for each employee; therefore, a table may not be the best method to track this variable - it may be better to setup an employee data item and store this variable on the employee's record.

Additional information regarding this setup:

In each example, the gross deduction is calculated and written to register 2 first; then, limit checking is invoked afterwards, with a quick Exit if the gross deduction is found to be below the limit.

Both deductions have a calculation line to deduct .Earned Income Credit (EIC) from wages subject to garnishment; if the client has any other earnings items that the garnishment does not attach to, a calculation line for these should be added also.

These calculations use register 5 for gross pay - if the client has many exception earnings items that the garnishment does not attach to, then a decision could be made to put the garnish historical data item on the basis for of the relevant earnings.

Note the descriptions and short descriptions; "garnishment" has a harsh connotation to it. Therefore, the short description on the historical data item can be modified to be a gentler item on the employees check stub. Also be aware, that employee's are generally required to provide a copy of a paystub when applying for certain loans (especially a mortgage or home equity line) so the verbiage on the employees stub can have significance to outside parties. In version 7x payrolls, only the short description is visible for employee data items; so it can be modified for data entry purposes.

Below are the historical data item and employee data item setups:

Data item .........: GARNISH1 ( 406) 
  1. Description....: IRS mandated garnishment
     
  2. Short desc.....: IRS
     
  3. User options
    History type...: D - Deductions.
    Calc cycle.....: Y - Calculation always used.
    Calc order.....: 500
    Print on stub..: Y - Print on stub.
    Detail register: Y - Produce detail register w/chks
    Post to vendor.: 801 - Garnishment remit to
     
  4. Earning options
    Entry type.....: N - No time card entry used.
    Rate from......:
    Multiply by....:
    Use shift......:
    Use costcode...:
    Use dist table.:
    Chg acct/basis.:
    Basis for......: :
     
  5. Roll options
    Roll forward...: A - Roll amount forward.
    Amount limit...: 9999999999999.99
    Hours limit....:
     
  6. Ledger options
    Post G/L.......: Y - Post this item to the G/L.
    Debit option...:
    Prorate on...: :

    Mask.........:
    Credit option..: A - Use account from mask below.
    Prorate on...: :

    Mask.........: A01 00-00 2223
     
  7. System
    Source.........: U - Defined by user.
    In use.........: N - Data item has not been used.
    Group process..: N - Normal processing.
     
  8. Line Command Detail
    ===== ======= ==============================================================
    2 COMNT *******************************************************
    4 COMNT
    6 COMNT DESCRIPTION: Garnishment based on excess of floor
    8 COMNT 20 COMNT USE: For garnishment mandate for all net pay in excess
    21 COMNT of floor amount
    25 COMNT
    30 COMNT SETUP NOTES:
    32 COMNT GARN1 TOTL Add total amount to be garnished to
    33 COMNT employee's record
    36 COMNT
    40 COMNT TABLES:
    42 COMNT 1 - Net pay floor amount
    46 COMNT
    60 COMNT CALCULATION:
    62 COMNT 100-120 Exit for non-eligible employees
    66 COMNT 130-150 Calculate "net pay" subject to floor
    78 COMNT 160 Get net pay floor 80 COMNT 170-180 Calculate deduction (net in excess of floor
    82 COMNT 190-260 Check GARN1 TOTAL and exit if total reached
    86 COMNT
    90 COMNT *******************************************************
    92 COMNT
    100 IF item(GARN1 TOTL) relop(EQ) value($,.00)
    110 EXIT 120 FI 130 REGOP reg(11) op(L) reg(5)
    140 REGOP reg(11) op(-) item(.EIC,cur,amount)
    150 REGOP reg(11) op(-) reg(7)
    160 TABLE reg(12) item(GARNISH1) value( ,1)
    170 REGOP reg(11) op(-) reg(12)
    180 REGOP reg(2) op(L) reg(11)
    190 REGOP reg(13) op(L) item(GARNISH1,ytd,amount)
    200 REGOP reg(13) op(+) reg(11)
    210 REGOP reg(14) op(L) item(GARN1 TOTL)
    220 IF reg(13) relop(LE) reg(14)
    230 EXIT
    240 FI
    250 REGOP reg(14) op(-) reg(13)
    260 REGOP reg(2) op(+) reg(14)
  9. Tbl Date Entry Minimum Maximum Flat amount Rate Xcs
    === ========== ===== ============ ============ ============
    1 1/01/2001 10 .00 .00 250.00 .000000 N
Data item .........: GARN1 TOTL ( 405)
  1. Description....: IRS total to be garnished
     
  2. Short desc.....: IRS total
     
  3. User options
    Data type......: $ - Signed(13.2), amount.
    Auto add.......: N - Manually add data item.
    Default value..: .00
    Entry required.: N - No entry is required.
    Multiple values: N - No entry nbr used w/data item.
    Scroll.........: N - Item cannot be scrolled.
    Edit data......: N - Data values are not edited.
    Lookup col's...: N/N/N/N/N/N/N/N/N/N
     
  4. System
    Source.........: U - Defined by user.
    In use.........: Y - Data item has been used.
Data item .........: GARNISH2 ( 407)
  1. Description....: Court ordered child support
     
  2. Short desc.....: Child
     
  3. User options
    History type...: D - Deductions.
    Calc cycle.....: Y - Calculation always used.
    Calc order.....: 500 Print on stub..: Y -
    Print on stub.
    Detail register: Y - Produce detail register w/chks
    Post to vendor.: 801 - Garnishment remit to
     
  4. Earning options
    Entry type.....: N - No time card entry used.
    Rate from......:
    Multiply by....:
    Use shift......:
    Use costcode...:
    Use dist table.:
    Chg acct/basis.:
    Basis for......: :
     
  5. Roll options
    Roll forward...: N - Do not roll forward.
    Amount limit...:
    Hours limit....:
     
  6. Ledger options
    Post G/L.......: Y - Post this item to the G/L.
    Debit option...:
    Prorate on...: :

    Mask.........:
    Credit option..: A - Use account from mask below.
    Prorate on...: :

    Mask.........: A01 00-00 2223
     
  7. System
    Source.........: U - Defined by user.
    In use.........: N - Data item has not been used.
    Group process..: N - Normal processing.
     
  8. Line Command Detail ===== ======= ==============================================================
    2 COMNT *******************************************************
    4 COMNT
    6 COMNT DESCRIPTION: Garnishment based on percentage of net
    7 COMNT pay not to reduce gross below min wage
    8 COMNT
    20 COMNT USE: For garnishment mandate of percentage of net pay
    21 COMNT not to reduce gross pay below minimum wage
    25 COMNT
    30 COMNT SETUP NOTES:
    32 COMNT GARN2 Add Yes flag to eligible employee's record
    36 COMNT
    40 COMNT TABLES:
    42 COMNT 1 - Garnishment percentage
    44 COMNT 2 - Minimum wage
    46 COMNT
    60 COMNT CALCULATION:
    62 COMNT 100-120 Exit for non-eligible employees
    66 COMNT 130-150 Calculate "net pay" subject to garnishment
    68 COMNT 160 Get gross pay for minimum wage calculation
    70 COMNT 170-180 Calculate garnishment
    72 COMNT 190-210 Calculate minimum wage
    74 COMNT 220-260 Compare garnish to minimum wage and adjust
    75 COMNT if garnishment reduces gross pay below min
    78 COMNT
    80 COMNT *******************************************************
    82 COMNT 100 IF item(GARN2) relop(NE) value(A,Y)
    110 EXIT 120 FI
    130 REGOP reg(11) op(L) reg(5)
    140 REGOP reg(11) op(-) item(.EIC,cur,amount)
    150 REGOP reg(11) op(-) reg(7)
    160 REGOP reg(12) op(L) reg(5)
    170 TABLE reg(11) item(GARNISH2) value( ,1)
    180 REGOP reg(2) op(L) reg(11)
    190 REGOP reg(13) op(L) reg(6)
    200 TABLE reg(13) item(GARNISH2) value( ,2)
    210 REGOP reg(12) op(-) reg(11)
    220 IF reg(12) relop(GE) reg(13)
    230 EXIT
    240 FI
    250 REGOP reg(12) op(-) reg(13)
    260 REGOP reg(2) op(+) reg(12)
  9. Tbl Date Entry Minimum Maximum Flat amount Rate Xcs
  10. === ========== ===== ============ ============ ============
  11. 1 1/01/2001 10 .00 .00 .00 .250000 N
  12. 2 1/01/2001 10 .00 .00 .00 5.150000 N
Data item .........: GARN2 ( 408)
  1. Description....: Child support garnishee
     
  2. Short desc.....: Child
     
  3. User options
    Data type......: A - Alphameric(3), attribute.
    Auto add.......: N - Manually add data item.
    Default value..:
    Entry required.: N - No entry is required.
    Multiple values: N - No entry nbr used w/data item.
    Scroll.........: N - Item cannot be scrolled.
    Edit data......: Y - Values are edited.
    Lookup col's...: T/N/N/N/N/N/N/N/N/N
  4. System
    Source.........: U - Defined by user.
    In use.........: Y - Data item has been used.

    Edited value.......:
    Active.........: Y - Active.
    In use.........: N - Not in use, may be removed.
    Lookup 1.......:

    Edited value.......: Y
    Active.........: Y - Active.
    In use.........: Y - In use, cannot be removed.
    Lookup 1.......: Court