Skip to main content

Paychex library

Project description

Pychex Requirements Status

Paychex Benefits OnLine access library and client

This library and command line client can be used to authorize and retrieve the account summary data from Paychex Benefits OnLine. Note that this is only for those who login using If you login to Paychex via this application will not currently work, but with your help we should be able to support it as well.


  • Python >= 2.6, Python >= 3.x, or PyPy. You can download it from here
  • Pip. If you have Python >= 2.7.9 or >= 3.4 then you already have pip. Otherwise, please follow these instructions


Once you have satisfied the requirements listed above, install by running the following command from the terminal:

pip install pychex

Quick start

After installing you will have use of a command line pychex client application. Run pychex authorize <username> to confirm your security image and login. This will save your encrypted credentials to a pychex.cfg file. NOTE: The encryption does very little to protect your credentials from a determined and malicious intruder, and the ultimate responsibility in protecting your credentials is yours. After you have authorized the client, you can get a printout of your account summary by running pychex account_summary. Full usage instructions below:

Pychex command-line interface

  pychex authorize <username> [--config=<config_file>]
  pychex account_summary [--config=<config_file>]

  -h --help               Show this screen.
  --version               Show version.
  --config=<config_file>  The config file to use [default: ./pychex.cfg]

Running pychex account_summary will result in output similar to the following fake data:

Current balance: $67,872.49
Vested balance: $67,872.49
Personal RoR: 8.9%

  percent  symbol    fund               shares  balance     prospectus
---------  --------  ---------------  --------  ----------  ------------
     9.79  FNAMW     FAKE NAME W [1]   103.572  $6,644.72   [2]
    10.21  FNAMX     FAKE NAME X [3]   214.321  $6,929.78   [4]
    31.58  FNAMY     FAKE NAME Y [5]    13.179  $21,434.13  [6]
    48.42  FNAMZ     FAKE NAME Z [7]    26.624  $32,863.86  [8]


Slow start

And here are some examples for how to use it programmatically:

>>> from pychex import Paychex
>>> paychex = Paychex(username)
>>> paychex.post_username()
>>> paychex.get_security_image()
>>> paychex.login(password)
>>> paychex.get_account_summary()
>>> paychex.current_balance
>>> paychex.vested_balance
>>> paychex.personal_ror
>>> for symbol, row in paychex.balance_tab_info.items():
...     for label, cell in row.items():
...         print('%s: %s' % (label, cell))
symbol: XXXX1
percent: XX.XX
shares: XXX.XXX
fund: {'url': '', 'name': 'XXXX XXXXXXX1'}
balance: $X,XXX.XX
symbol: XXXX2
percent: XX.XX
shares: XXX.XXXX
fund: {'url': '', 'name': 'XXXX XXXXXXX2'}
balance: $XX,XXX.XX


You can also use the CLI from a git checkout. First, install all the dependencies by running pip install -r requirements/dev.txt. Then you can run the CLI like so:

$ python -m pychex.cli <args>

You can run the tests simply by running the behave command

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pychex-0.2.0.tar.gz (17.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page